在winform中运用FusionCharts图表(一)
目前,在一些网站上,运用了动画的FLASH的图表,给网页增色不少。下面两张图就是“中国站长联盟”网站给注册用户统计网站访问量的图表的截图。
这种带有动画效果的图表,立马使得网页亲切起来。
在网上搜索一番后,发现它使用的是FusionCharts的Flash图表。
FusionCharts是InfoSoft Global公司的一个产品,InfoSoft Global 公司是专业的Flash图形方案提供商,他们还有几款其他的基于Flash技术的产品,都非常的漂亮。FusionCharts Free则是FusionCharts提供的一个免费版本,虽然免费,功能依然强大,图形类型依然丰富。
FusionCharts是用XML文件作为数据的载体。它从外部的XML文件获取数据,并根据数据显示动画图表。在XML中定义图表的各种属性,和图表的数据。在应用的时候,我们只要更改XML文件即可。
有关FusionCharts的图表的图形的基本元素,参看文章:FusionCharts Free图形的基本元素。这里不再赘述。
下面,将详述其中的一个图表(2D Line)中的XML的属性说明。
2D Line的XML的属性,官方文章地址:http://www.fusioncharts.com/free/docs/?/XMLOverview.html
里面介绍了数十个属性,可是我们看看以下实例:
<graph caption='Monthly Sales Summary'subcaption='For the year 2004' xAxisName='Month'yAxisMinValue='15000' yAxisName='Sales' decimalPrecision='0'formatNumberScale='0' numberPrefix='$' showNames='1'showValues='0' showAlternateHGridColor='1'AlternateHGridColor='ff5904' divLineColor='ff5904'divLineAlpha='20' alternateHGridAlpha='5' >
<set name='Jan' value='17400' hoverText='January'/>
<set name='Feb' value='19800' hoverText='February'/>
<set name='Mar' value='21800' hoverText='March'/>
<set name='Apr' value='23800' hoverText='April'/>
<set name='May' value='29600' hoverText='May'/>
<set name='Jun' value='27600' hoverText='June'/>
<set name='Jul' value='31800' hoverText='July'/>
<set name='Aug' value='39700' hoverText='August'/>
<set name='Sep' value='37800' hoverText='September'/>
<set name='Oct' value='21900' hoverText='October'/>
<set name='Nov' value='32900' hoverText='November' />
<set name='Dec' value='39800' hoverText='December' />
</graph>
通篇只有15个属性,远少于官方文章介绍的属性。是这样的,如果在XML中没有输入这个属性,FusionCharts的2D Line图表就会用一个默认值,而各个属性的默认值,没有介绍,笔者通过测试,逐步摸索出各个属性的默认值。贴在这儿和大家交流,其中难免有疏漏,欢迎指正。
bgColor:默认值ffffff。背景色,颜色采用6位16进制的字符表示,分别表示三个三色分量。
bgAlpha:默认值100。背景Alpha,Alpha的取值范围是0—100。0是全透明,100是全不透明。
bgSWF:默认值是空字符。背景SWF文件。
canvasBgColor:默认值ffffff。画布背景色。
canvasBgAlpha:默认值100。画布背景Alpha。
canvasBorderColor:默认值000000。画布边框色,默认是黑色。
canvasBorderThickness:默认值2。画布边框宽度,0为表示不显示边框。
caption:默认值是空字符。图表的标题。
subCaption:默认值是空字符。图表的子标题
xAxisName:默认值是空字符。X轴文字
yAxisName:默认值是空字符。Y轴文字
yAxisMinValue:默认值是空字符。Y轴最小值。
yAxisMaxValue:默认值是空字符。Y轴最大值。
注:上面两个属性,如果用默认值的话,图表将采用数据,来计算Y轴的数值范围
shownames:默认值1。1表示显示点的名字,0表示不显示。
showValues:默认值1。1表示显示点的数值,0表示不显示。
showLimits:默认值1。1表示显示图表的数值的限制区间,0表示不显示。
rotateNames:默认值0。0表示点的名字显示时不旋转,1表示显示时旋转一个角度。
animation:默认值1。1表示显示动画,0表示不显示。
lineColor:默认值f8671d。折线颜色,该颜色是偏向橘黄的一种颜色。
lineThickness:默认值2。折线宽度。
lineAlpha:默认值100。折线Alpha。
showShadow:默认值1。1表示显示折线阴影,0表示不显示。如果该属性为0,则下列shadow打头的属性都无效。
shadowColor:默认值cccccc。阴影颜色,一种灰色。
shadowThickness:默认值2。阴影宽度。
shadowAlpha:默认值100。阴影Alpha 。
shadowXShift:默认值2。阴影水平位移,可以是负值。
shadowYShift:默认值2。阴影垂直位移,可以是负值。
showAnchors:默认值1。1表示显示锚点,0表示不显示。如果该属性为0,则下列anchor打头的属性都无效。
anchorSides:默认值是空字符。锚点的边数,默认值代表是圆形。可以取大于2的数值,3表示三角形,4表示正方形,依此类推。
anchorRadius:默认值2。锚点的半径。
anchorBorderColor:默认值f8671d。锚点的边框色。
anchorBorderThickness:默认值2。锚点的边框宽度。
anchorBgColor:默认值ffffff。锚点的背景色。
anchorBgAlpha:默认值100。锚点的背景Alpha。
anchorAlpha:默认值100。锚点的Alpha。
注:anchorAlpha属性设为0时,也是不显示锚点,不过如果showhovercap为1时,鼠标移到点上时,还能看到提示文字。而showAnchors属性设为0时,虽然也不显示锚点,无论showhovercap取何值,鼠标移到点上时,是看不到提示文字。
baseFont:默认值Verdana。画布内的字体。
baseFontSize:默认值7。画布内的字体大小。
baseFontColor:默认值000000。画布内的字体颜色。
outCnvBaseFont:默认值Verdana。画布外的字体
outCnvBaseFontSze:默认值7。画布外的字体大小
outCnvBaseFontColor:默认值000000。画布外的字体颜色
numberPrefix:默认值是空字符。数值的前缀字符,例如在表示金额的时候,可以用$符号。
numberSuffix:默认值是空字符。数值的后缀字符,如果要使用后缀%,必须用%25标识。
formatNumber:默认值1。1表示格式化显示数值,0表示正常显示数值。
formatNumberScale:默认值1。1表示格式化数值,并作标记K、M。例如1000格式化为1K。0表示正常显示。
decimalSeparator:默认值.。小数点的字符。
thousandSeparator:默认值,。千位数的字符,只有formatNumber为1时才有效
decimalPrecision:默认值2。数值的小数点的保留位数。
divLineDecimalPrecision:默认值2。横线数值的小数点的保留位数。
limitsDecimalPrecision:默认值2。限制数值区间的小数点的保留位数。
zeroPlaneThickness:默认值2。0轴的线的宽度。
zeroPlaneColor:默认值cccccc。0轴的线的颜色
zeroPlaneAlpha:默认值100。0轴的Alpha。
注:如果图表中没有0轴,则上面三个关于0轴的属性无效。
numdivlines:默认值4。默认时图表的水平线有4根,将图表划分为5个水平块状。0表示没有水平线。
divlinecolor:默认值cccccc。图表的水平线颜色。
divLineThickness:默认值1。图表的水平线宽度。
divLineAlpha:默认值100。图表的水平线的Alpha。
showDivLineValue:默认值1。1表示显示水平线对应的数值。0表示不显示。
showAlternateHGridColor:默认值0。1表示显示水平间隔,0表示不显示。
alternateHGridColor:默认值cccccc。水平间隔的颜色。
alternateHGridAlpha:默认值70。水平间隔Alpha,注意,这个是70,不是100。
注:以上三个属性使得图表显示垂直颜色交错的效果。如本文的第二个图例所示。
numVDivLines:默认值0。表示图表的垂直线的根数。0表示没有垂直线。
VDivlinecolor:默认值cccccc。图表的垂直线颜色。
VDivLineThickness:默认值1。图表的垂直线宽度。
VDivLineAlpha:默认值100。图表的垂直线的Alpha。
showAlternateVGridColor:默认值0。1表示显示垂直间隔,0表示不显示。
alternateVGridColor:默认值cccccc。垂直间隔的颜色。
alternateVGridAlpha:默认值70。垂直间隔Alpha,注意,这个是70,不是100。
注:以上三个属性使得图表显示水平颜色交错的效果。垂直间隔的颜色显示在水平间隔的上方。
showhovercap:默认值1。1表示鼠标移到点上时显示提示文字,0表示不显示。
注:该属性生效还必须showAnchors为1。提示文字由三部分组成:点的hoverText、间隔符、点的数值。
hoverCapBgColor:默认值f1f1f1。提示文字的背景颜色。
hoverCapBorderColor:默认值cccccc。提示文字的边框色。
hoverCapSepChar:默认值是,。间隔符的字符。
chartLeftMargin:默认值15。图表的左外边距。
chartRightMargin:默认值15。图表的右外边距。
chartTopMargin:默认值15。图表的上外边距。
chartBottomMargin:默认值15。图表的下外边距。
以上属性在XML中都作为根节点graph的属性。
<set>作为根节点的子节点,表示图表中的一个数据点。他也有自己的属性。例如:
<set name="Jan" value="54" color="3300FF"hoverText="January" link="ShowDetails.asp%3FMonth=Jan" showName="1"/>
name:必有。该数据点的名字。
value:必有。该书据点的数值。
color:默认值是空字符串。表示这个数据点到下个数据点连线的颜色。默认用LineColor的值
hoverText:默认值是空字符串。该数据点的提示文字。
alpha:默认值100。数据点Alpha。
link:默认值是空字符串。该数据点的超链接
showName:默认值1。1表示显示该数据点的名字,0表示不显示。
注:shownames为0时,该属性为任何值都不会显示名字。shownames为1时,可以设置该属性为0,来限制某些数据点的显示名字。
<trendLines>作为根节点的子节点,表示图表中的一系列趋势线。
<line>作为<trendLines>的子节点,表示图表中的一条趋势线。(从实际来看,叫辅助线更适合)
他也有自己的属性。例如:
<line startValue='89.5' endValue='98' color='FF0000'displayvalue='Roll. Avg.'thickness='2' alpha='100' isTrendZone='0' showOnTop='1'/>
startValue:必有。该趋势线的起始数值。
endValue:必有。该趋势线的结束数值。
color:默认值000000。该趋势线的颜色
thickness:默认值1。该趋势线的宽度为1
isTrendZone:默认值0。0表示趋势线是一条直线,1表示趋势线是一个矩形
showOnTop:默认值0。0表示趋势线在折线的下方,1表示趋势线在折线的上方
alpha:趋势线的Alpha。这个属性和isTrendZone有关,isTrendZone为0时,该属性的默认值是100;isTrendZone为1时,该属性的默认值为40。
以上是笔者通过测试,写下各个属性的默认值,如果有错误,欢迎各位指正。