1

您好,我如何从图表中删除系列,我知道我可以使用 getAt(0) 或 getAt(1) 获取系列对象,具体取决于我在图表中获得了多少系列。我的问题是如何从图表中删除一个系列。主要原因是我让最终用户能够更改系列类型:条形、线条......所以我想通过删除系列并添加一个新系列来在运行时显示新的变化。

我试过 Chart.series.removeAt(0); 它删除了图例,但条形图或线条仍然显示!

我使用 extjs 4.1.1

谢谢你,

4

1 回答 1

0

我必须做同样的事情,让最终用户能够在运行时更改图表类型,以提供不同的数据可视化。我发现图表类型(条形图、折线图、饼图)涉及的内容更多,而不仅仅是系列。换句话说,要实现这一点,我不能只用不同的系列类型替换数据并将其添加到图表中。

我最终使用相同的数据存储为每种不同类型的图表创建了不同的配置。该图表包含在一个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:配置。

当用户按下格式按钮时,我调用此函数从面板中删除图表并创建一个具有不同格式的图表。它达到了预期的效果。

于 2013-02-24T17:26:02.343 回答