转载

FCF中文指南-第十三章--间断数据的处理

有时候我们的数据并不是连续的,例如我们有一个反映每个月销售额的图形,然而,五月和六月的数据我们缺失了,像这种情况我们该如何处理呢?

FCF早就想到这个问题了,我们看看下面的代码:
1. <graph>   
2.    <set name='Jan' value='420' />   
3.    <set name='Feb' value='295' />   
4.    <set name='Mar' value='523' />     
5.    <set name='Apr' value='473' />     
6.    <set name='May' />     
7.    <set name='Jun' />     
8.    <set name='Jul' value='354' />     
9.    <set name='Aug' value='457' />     
10.    <set name='Sep' value='127' />     
11.    <set name='Oct' value='354' />     
12.    <set name='Nov' value='485' />     
13.    <set name='Dec' value='486' />     
14. </graph>   
我们看到,上面五月和六月的数据里,并没有value这个属性。
如果把这样的数据放到一个柱状图里,效果如下:
 FCF中文指南-第十三章--间断数据的处理
在五月和六月那里没有柱子。这就是我们想要的效果。
如果把这样的数据放到一个曲线图里,效果如下:
FCF中文指南-第十三章--间断数据的处理 
同样的,五月和六月那里没有线段,它是缺失的。
如果你想连五月和六月的标签都不显示,你可以这样:
<set />
当然,你还可以干脆连<set />都不要。不过那样会让看图的人容易误解,因为人们一般都会以为是按顺序来排列月份的。
多系列的图形也可以放置这样的断点数据。看下面的图:
 FCF中文指南-第十三章--间断数据的处理
上图的XML数据如下:
15. <graph caption='Discontinuous Data Demo' numdivlines='4' showgridbg='1' showhovercap='1'   
16. lineThickness='1' animation='1' hoverCapSepChar=' ' anchorScale='0' showNames='1'   
17. showValues='0' numVDivLines='12' anchorscale='0' rotateNames='1'>   
18.   <categories>   
19.      <category name='5/2001' showName='1'/>   
20.      <category name='6/2001' showName='0'/>   
21.      <category name='7/2001' showName='0'/>   
22.      <category name='8/2001' showName='1'/>   
23.      <category name='9/2001' showName='0'/>   
24.      <category name='10/2001' showName='0'/>   
25.      <category name='11/2001' showName='1'/>   
26.      <category name='12/2001' showName='0'/>   
27.      <category name='1/2002' showName='0'/>   
28.      <category name='2/2002' showName='1'/>   
29.      <category name='3/2002' showName='0'/>   
30.      <category name='4/2002' showName='0'/>   
31.      <category name='5/2002' showName='1'/>   
32.      <category name='6/2002' showName='0'/>   
33.      <category name='7/2002' showName='0'/>   
34.      <category name='8/2002' showName='1'/>   
35.      <category name='9/2002' showName='0'/>   
36.      <category name='10/2002' showName='0'/>   
37.      <category name='11/2002' showName='1'/>   
38.      <category name='12/2002' showName='0'/>   
39.      <category name='1/2003' showName='0'/>   
40.      <category name='2/2003' showName='1'/>   
41.      <category name='3/2003' showName='0'/>   
42.      <category name='4/2003' showName='1'/>   
43.   </categories>   
44.   <dataset seriesname='Series 1' color='00A900' showValue='0' lineThickness='2'   
45.   yaxismaxvalue='100' anchorAlpha='0'>   
46.      <set />   
47.      <set />   
48.      <set />   
49.      <set value='0' />   
50.      <set value='1' />   
51.      <set value='2' />   
52.      <set value='3' />   
53.      <set value='5' />   
54.      <set value='8' />   
55.      <set value='11' />   
56.      <set value='16' />   
57.      <set value='23' />   
58.      <set value='31' />   
59.      <set value='40' />   
60.      <set value='49' />   
61.      <set value='59' />   
62.      <set value='68' />   
63.      <set />   
64.      <set />   
65.      <set value='89' />   
66.      <set value='94' />   
67.      <set value='97' />   
68.      <set value='99' />   
69.      <set value='100' />   
70.   </dataset>   
71.   <dataset seriesname='Series 2' color='0000FF' showValue='0' lineThickness='2'     
72.   yaxismaxvalue='100' anchorAlpha='0'>   
73.      <set />   
74.      <set value='0' />   
75.      <set value='0' />   
76.      <set value='0' />   
77.      <set value='0' />   
78.      <set value='1' />   
79.      <set value='1' />   
80.      <set value='1' />   
81.      <set value='1' />   
82.      <set value='6' />   
83.      <set value='26' />   
84.      <set value='43' />   
85.      <set />   
86.      <set />   
87.      <set />   
88.      <set />   
89.      <set value='43' />   
90.      <set value='53' />   
91.      <set value='66' />   
92.      <set value='78' />   
93.      <set value='91' />   
94.      <set />   
95.      <set />   
96.      <set />   
97.   </dataset>   
98. </graph>   

在category 元素里有个showName属性,当值为1时,就会显示;当值为0时,就不显示,哪怕给它提供了相应的数据。上面代码虽然有很多category,但是只有9个值为1的,所以图形里只显示了9个。
再看看dataset里有很多<set />,这就是没有数据。所以在图里我们看到了很多的断点。

正文到此结束
Loading...