2012-03-02 33 views
0

我在Adobe Flex SDK 4.5和4.5.1中的笛卡爾圖表中遇到問題。也許這是一個錯誤,因爲它不在SDK 4.0,4.1和4.6中。或者這只是我的代碼問題。從笛卡爾圖表中刪除系列時Adobe Flex SDK 4.5中的錯誤/錯誤

我做了一點點example project範圍在CartesianChart(線/面積/列/欄),有點像谷歌金融圖表的系列數據。當我將所有系列添加到圖表時,問題都沒有發生。只有當我有多個系列和刪除一個或多個系列比範圍過來的數據,該系列數據得到壓縮:

Chart image

好像橫軸沒有變化或沒有得到當我對當前數據進行範圍更新時,更新圖表數據已更改。

這裏是我的項目的主要代碼,在這裏我向折線圖添加系列,刪除所有圖表系列中的系列和範圍。

 public function addChartSeries(name:String, dataProvider:Array):void 
     { 
      var lineSeries:LineSeries = new LineSeries(); 
      lineSeries.xField = "date"; 
      lineSeries.yField = "value"; 
      lineSeries.displayName = name; 
      lineSeries.dataProvider = dataProvider; 
      var mySeries:Array = new Array(); 
      mySeries = lineChart.series; 
      mySeries.push(lineSeries); 
      lineChart.series = mySeries; 
     } 

     public function removeSeries(index:int):void 
     { 
      var mySeries:Array = new Array(); 
      mySeries = lineChart.series; 
      mySeries.splice(index, 1); 
      lineChart.series = mySeries; 
     } 

     private function changeDataProvider():void 
     { 
      var series:Array = lineChart.series; 
      for (var i:int = 0; i < series.length; i++) 
      { 
       var lineSeries:LineSeries = series[i]; 
       var item:ChartItem = chartItems.getItemAt(i) as ChartItem; 
       lineSeries.dataProvider = item.data.slice(leftindex, rightIndex); 
      } 
      lineChart.series = series; 
     } 

有人有同樣的問題或有一個想法如何以另一種方式刪除系列?

+0

您可以更明確地瞭解Flex SDK在什麼情況下見證了這種錯誤行爲? 我已經用Flex 4.6 SDK測試了你的示例,我無法得到附加[Chart image]截圖所示的情況。 – JabbyPanda 2012-03-04 18:08:31

+0

@JabbyPanda感謝您的回覆。這僅僅是SDK 4.5和4.5.1 – David 2012-03-05 08:22:01

+0

沒錯,您遇到的這個問題與SDK 4.5.1相關,但不是4.6。 如果完全升級不是您的選擇,我建議只需從4.6 SDK替換「charts.swc」庫,它適用於我。 – JabbyPanda 2012-03-05 20:58:51

回答

0

非常感謝JabbyPanda,他上面的comment描述瞭如何解決這個問題。只需將SDK 4.6中的charts.swc替換爲SDK 4.5.1中的那個。