2013-02-24 59 views
1

你好,我怎樣才能從圖表中刪除一個系列,我知道我可以使用getAt(0)或getAt(1)來獲取系列對象,這取決於我在圖表中獲得了多少系列。 我的問題是如何從圖表中刪除一個系列。 主要原因是我給最終用戶更改系列類型的能力:bar,line ...所以我希望在運行時通過刪除系列和添加新系列來顯示新更改。Extjs圖表:使用chart.series.getAt(0)作爲系列移除如何?

我試過Chart.series.removeAt(0);它刪除了傳說,但酒吧或線仍然顯示!

我使用ExtJS的4.1.1

謝謝你,

+0

嘗試在刪除它之前隱藏該系列。 – jorel 2013-02-24 12:32:08

回答

0

我必須做同樣的事情,並給最終用戶更改圖表類型在運行時給出的數據不同的可視化能力。我發現在圖表類型(bar,line,pie)中還有更多的參與,然後就是這個系列。換句話說,爲了達到這個目的,我無法僅僅用一個不同的系列類型替代數據並將其添加到圖表中。

我結束了爲每種不同類型的圖表使用相同的數據存儲創建不同的配置。圖表是包含在由一個Ext.panel.Panel我加入此功能:

// toggle format between pie chart and bar chart 
this.toggleFormat = function() { 
    var chart = me.down('chart'); 

    this.remove(chart); 
    if (chart.chartType == 'pie') { 
     this.add(Ext.create('Ext.chart.Chart', bar)); 
    } else { 
     this.add(Ext.create('Ext.chart.Chart', pie)); 
    } 
}; 

bar變量保存條形圖配置和pie保持餅圖配置但兩者具有附接至其store: CONFIGS的同一數據存儲。

當用戶按下格式按鈕時,我調用此函數從面板中刪除圖表並創建一個格式不同的圖表。它達到了預期的效果。