道長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 閱讀(1803) 評論(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
          主站蜘蛛池模板: 永城市| 任丘市| 江西省| 合川市| 拉孜县| 大荔县| 介休市| 西林县| 通辽市| 湖口县| 盐亭县| 彰武县| 辽宁省| 滨海县| 抚远县| 南平市| 永康市| 铜陵市| 扎鲁特旗| 建德市| 山西省| 北京市| 盐亭县| 祁门县| 沈阳市| 汉沽区| 沙湾县| 游戏| 浦县| 会同县| 五台县| 旺苍县| 社会| 普安县| 邮箱| 东明县| 米易县| 商洛市| 兴海县| 革吉县| 东海县|