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

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

posted @ 2010-03-24 21:33  万仓一黍  阅读(5939)  评论(4编辑  收藏  举报