[AJava原创]FusionCharts Free中文开发指南[使用文档教程]第十三章--间断数据的处理

[AJava原创]FusionCharts Free中文开发指南[使用文档教程]第十三章--间断数据的处理

有时候我们的数据并不是连续的,例如我们有一个反映每个月销售额的图形,然而,五月和六月的数据我们缺失了,像这种情况我们该如何处理呢?
FCF早就想到这个问题了,我们看看下面的代码:

< graph >    
    
< set  name ='Jan'  value ='420'  />    
    
< set  name ='Feb'  value ='295'  />    
    
< set  name ='Mar'  value ='523'  />      
    
< set  name ='Apr'  value ='473'  />      
    
< set  name ='May'  />      
    
< set  name ='Jun'  />      
    
< set  name ='Jul'  value ='354'  />      
    
< set  name ='Aug'  value ='457'  />      
    
< set  name ='Sep'  value ='127'  />      
    
< set  name ='Oct'  value ='354'  />      
    
< set  name ='Nov'  value ='485'  />      
    
< set  name ='Dec'  value ='486'  />      
</ graph >  



我们看到,上面五月和六月的数据里,并没有value这个属性。
如果把这样的数据放到一个柱状图里,效果如下:


图片1

在五月和六月那里没有柱子。这就是我们想要的效果。

如果把这样的数据放到一个曲线图里,效果如下:


图片1

同样的,五月和六月那里没有线段,它是缺失的。

如果你想连五月和六月的标签都不显示,你可以这样:
<set />
当然,你还可以干脆连<set />都不要。不过那样会让看图的人容易误解,因为人们一般都会以为是按顺序来排列月份的。

多系列的图形也可以放置这样的断点数据。看下面的图:


图片1

上图的XML数据如下:

< graph  caption ='Discontinuous  Data Demo' numdivlines ='4'  showgridbg ='1'  showhovercap ='1'   
lineThickness ='1'  animation ='1'  hoverCapSepChar ='  ' anchorScale ='0'  showNames ='1'   
showValues ='0'  numVDivLines ='12'  anchorscale ='0'  rotateNames ='1'>   
   
<categories >    
      
< category  name ='5/2001'  showName ='1'/>   
      
<category name ='6/2001'  showName ='0'/>   
      
<category name ='7/2001'  showName ='0'/>   
      
<category name ='8/2001'  showName ='1'/>   
      
<category name ='9/2001'  showName ='0'/>   
      
<category name ='10/2001'  showName ='0'/>   
      
<category name ='11/2001'  showName ='1'/>   
      
<category name ='12/2001'  showName ='0'/>   
      
<category name ='1/2002'  showName ='0'/>   
      
<category name ='2/2002'  showName ='1'/>   
      
<category name ='3/2002'  showName ='0'/>   
      
<category name ='4/2002'  showName ='0'/>   
      
<category name ='5/2002'  showName ='1'/>   
      
<category name ='6/2002'  showName ='0'/>   
      
<category name ='7/2002'  showName ='0'/>   
      
<category name ='8/2002'  showName ='1'/>   
      
<category name ='9/2002'  showName ='0'/>   
      
<category name ='10/2002'  showName ='0'/>   
      
<category name ='11/2002'  showName ='1'/>   
      
<category name ='12/2002'  showName ='0'/>   
      
<category name ='1/2003'  showName ='0'/>   
      
<category name ='2/2003'  showName ='1'/>   
      
<category name ='3/2003'  showName ='0'/>   
      
<category name ='4/2003'  showName ='1'/>   
   
</categories >    
   
< dataset  seriesname ='Series  1' color ='00A900'  showValue ='0'  lineThickness ='2'   
   
yaxismaxvalue ='100'  anchorAlpha ='0'>   
      
<set  />    
      
< set  />    
      
< set  />    
      
< set  value ='0'  />    
      
< set  value ='1'  />    
      
< set  value ='2'  />    
      
< set  value ='3'  />    
      
< set  value ='5'  />    
      
< set  value ='8'  />    
      
< set  value ='11'  />    
      
< set  value ='16'  />    
      
< set  value ='23'  />    
      
< set  value ='31'  />    
      
< set  value ='40'  />    
      
< set  value ='49'  />    
      
< set  value ='59'  />    
      
< set  value ='68'  />    
      
< set  />    
      
< set  />    
      
< set  value ='89'  />    
      
< set  value ='94'  />    
      
< set  value ='97'  />    
      
< set  value ='99'  />    
      
< set  value ='100'  />    
   
</ dataset >    
   
< dataset  seriesname ='Series  2' color ='0000FF'  showValue ='0'  lineThickness ='2'     
   
yaxismaxvalue ='100'  anchorAlpha ='0'>   
      
<set  />    
      
< set  value ='0'  />    
      
< set  value ='0'  />    
      
< set  value ='0'  />    
      
< set  value ='0'  />    
      
< set  value ='1'  />    
      
< set  value ='1'  />    
      
< set  value ='1'  />    
      
< set  value ='1'  />    
      
< set  value ='6'  />    
      
< set  value ='26'  />    
      
< set  value ='43'  />    
      
< set  />    
      
< set  />    
      
< set  />    
      
< set  />    
      
< set  value ='43'  />    
      
< set  value ='53'  />    
      
< set  value ='66'  />    
      
< set  value ='78'  />    
      
< set  value ='91'  />    
      
< set  />    
      
< set  />    
      
< set  />    
   
</ dataset >    
</ graph >  


在category 元素里有个showName属性,当值为1时,就会显示;当值为0时,就不显示,哪怕给它提供了相应的数据。上面代码虽然有很多category,但是只有9个值为1的,所以图形里只显示了9个。

再看看dataset里有很多<set />,这就是没有数据。所以在图里我们看到了很多的断点。



 转载请以连接方式注明来自 AJava.org

你可能感兴趣的:([AJava原创]FusionCharts Free中文开发指南[使用文档教程]第十三章--间断数据的处理)