在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。
 

  以上是笔者通过测试,写下各个属性的默认值,如果有错误,欢迎各位指正。


  本文转自万仓一黍博客园博客,原文链接:

http://www.cnblogs.com/grenet/archive/2010/03/24/1694166.html

,如需转载请自行联系原作者


相关文章
|
4月前
|
前端开发 C# 容器
WPF/C#:实现导航功能
WPF/C#:实现导航功能
92 0
|
Web App开发 数据可视化 前端开发
WPF调用 ECharts 显示图表
WPF调用 ECharts 显示图表
WPF调用 ECharts 显示图表
|
移动开发 C# HTML5
WPF实现图表绘制
WPF实现图表绘制
WPF实现图表绘制
|
前端开发 C# 开发工具
WPF 自定义柱状图 BarChart
原文:WPF 自定义柱状图 BarChart WPF 自定义柱状图  当前的Telerik控件、DevExpress控件在图表控件方面做得不错,但是有时项目中需要特定的样式,不是只通过修改图表的模板和样式就能实现的。
1141 0
|
前端开发 C#
WPF 自定义的图表(适用大量数据绘制)下
原文:WPF 自定义的图表(适用大量数据绘制)下 上一篇文章中讲了WPF中自定义绘制大量数据的图标,思路是先将其绘制在内存,然后一次性加载到界面,在后续的调试过程中,发现当数据量到达10W时,移动鼠标显示数据有明显的延迟。
1443 0
|
C# 前端开发
WPF 自定义的图表(适用大量数据绘制)
原文:WPF 自定义的图表(适用大量数据绘制) 在WPF中绘制图表比较简单,有很多的第三方控件,但是在绘制大量数据的时候,就显得有些吃力,即便是自己用StreamGeometry画也达不到理想的效果,要达到绘制大量数据而不会顿卡现象,只有一个途径,就是首先在内存中绘制好所有的图形,再一次性加载(或者说绘制)到界面控件Canvas或Grid中。
1233 0