道長A的地盤

          http://Java.Im 這個網址NB吧?是道長的新網站,您不去看看嗎?
          隨筆 - 28, 文章 - 1, 評論 - 73, 引用 - 0
          數據加載中……

          [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 --一個Java門戶! 轉載請以連接方式注明來自AJava.org

          posted on 2009-03-28 00:06 道長A@ajava.org 閱讀(1798) 評論(3)  編輯  收藏 所屬分類: FusionCharts 開發指南

          評論

          # re: [AJava原創]FusionCharts Free中文開發指南[使用文檔教程]第十三章--間斷數據的處理[未登錄]  回復  更多評論   

          道長有研究過它和鼠標點擊如何實現交互嗎?
          2009-03-29 21:18 | Chaser

          # re: [AJava原創]FusionCharts Free中文開發指南[使用文檔教程]第十三章--間斷數據的處理  回復  更多評論   

          @Chaser
          這個我好像還沒看到有其他的交互,好像只有鼠標單擊這個動作。
          2009-03-29 23:39 | 道長A@ajava.org

          # re: [AJava原創]FusionCharts Free中文開發指南[使用文檔教程]第十三章--間斷數據的處理  回復  更多評論   

          道長好!我在使用過程中發現如果數據全部為零時,不能正確的生成圖像,主要表現為不能正確選擇比例尺,把數據都顯示為無限大了(如Column中就會全部顯示為最大值),請問這個問題有什么好的解決辦法嗎?多謝道長~
          2009-04-14 09:29 | magicbacon
          主站蜘蛛池模板: 鄢陵县| 介休市| 射阳县| 宁都县| 留坝县| 邢台市| 临西县| 特克斯县| 伊宁市| 乌拉特前旗| 梁河县| 商丘市| 泰来县| 改则县| 蒙阴县| 府谷县| 同江市| 湘潭县| 霍州市| 凤台县| 巧家县| 澳门| 固阳县| 泊头市| 即墨市| 云龙县| 西乌| 阿荣旗| 扎鲁特旗| 德州市| 蒙阴县| 德兴市| 尉氏县| 大渡口区| 镇沅| 昌宁县| 淮南市| 朔州市| 攀枝花市| 永城市| 新乐市|