我必须先动态删除所有系列,然后再向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);
});
但这是一项非常繁重的操作,需要花费很多时间。有没有办法以经济有效的方式实现这一目标,以便花费更少的时间。
答案 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/
添加系列时可以使用相同的方法。