我在网站上有一个呈现的Highcharts图表,我需要在一段时间后将其清空。现在我尝试使用这样的代码,但图表不会自行清空/没有任何变化......
var chart = new Highcharts.Chart({
// Chart settings
});
// Some other JS
function emptyChart(chart) {
chart.series = [];
chart.redraw();
}
// Some code and a function executes this function after some time
emptyChart(chart);
我也没有在Firebug控制台或其他地方收到任何错误,只是没有任何反应......
答案 0 :(得分:3)
干净利落的方法:
function emptyChart(chart) {
while(chart.series.length !=0) {
chart.series[0].hide();
chart.series[0].remove();
}
}
如果您希望轴也消失,请使用“showEmpty:false”选项(选中xAxis.showEmpty)
答案 1 :(得分:2)
我想,你想要这样的东西,
chart.series[0].data = [];
chart.redraw();
答案 2 :(得分:2)
我已经第二次遇到这个问题了,现在我终于找到了一个简单但目前唯一有效的解决方案:只需创建一个新的空Highchart:
function emptyChart(chart) {
chart = new Highcharts.Chart(/* chartOptions */);
}
答案 3 :(得分:1)
只是一个猜测,但请尝试更改为chart.series = {};
?
答案 4 :(得分:1)
您也可以使用setData([])