如何有效地从highchart / highstock中删除所有系列,然后添加更多

时间:2018-02-02 20:54:08

标签: javascript highcharts highstock

我必须先动态删除所有系列,然后再向Highchart和Highstock添加更多系列。我使用以下方法来实现这一目标:

while (highcharts.series[0]) {
    highcharts.series[0].remove(true);
}

allSeries = []; //it has all the new series to be added

allSeries.forEach(function (series) {
    highcharts.addSeries(series);
});

但这是一项非常繁重的操作,需要花费很多时间。有没有办法以经济有效的方式实现这一目标,以便花费更少的时间。

1 个答案:

答案 0 :(得分:0)

如果你对每个系列删除操作执行重绘,会花费很多时间(Series.remove()的第一个参数负责控制它)。

如果只重绘一次图表,那么速度要快得多 - 在所有删除完成后:

for(var i = chart.series.length - 1; i >= 0; i--) {
    chart.series[i].remove(false);
}
chart.redraw();

现场演示: http://jsfiddle.net/kkulig/szd1dc81/

添加系列时可以使用相同的方法。