Javascript 如何有效地从highchart/highstock中删除所有系列,然后添加更多系列
我必须首先动态删除所有系列,然后向Highchart和Highstock添加更多系列。我使用以下方法来实现这一目标:Javascript 如何有效地从highchart/highstock中删除所有系列,然后添加更多系列,javascript,highcharts,highstock,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.addSerie
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);
});
但这是一个非常繁重的操作,需要很多时间。是否有任何方法可以以经济高效的方式实现这一点,从而减少所需时间。如果对每个序列删除操作执行重画,则会花费大量时间(series.remove()的第一个参数负责控制此操作) 如果只重新绘制一次图表,则速度会快得多-在所有删除操作完成后:
for(var i = chart.series.length - 1; i >= 0; i--) {
chart.series[i].remove(false);
}
chart.redraw();
现场演示:
添加系列时也可以使用相同的方法。通常有多少个系列?虽然删除大约100个系列大约需要4秒,但不应花费那么多时间。请参见此