Javascript Highcharts-重新绘制空图表
我有一个网站上的渲染图表,我需要在一段时间后清空它。现在我用这样的代码尝试了一下,但是图表本身没有清空/没有任何变化Javascript Highcharts-重新绘制空图表,javascript,highcharts,Javascript,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
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控制台或其他地方也没有发现任何错误,只是什么也没发生…只是猜测,但尝试更改为chart.series={} 只是猜测,但请尝试更改为chart.series={} 我想,你想要这样的东西
chart.series[0].data = [];
chart.redraw();
我猜你想要这样的东西
chart.series[0].data = [];
chart.redraw();
我已经第二次遇到这个问题,现在我终于找到了一个简单但目前唯一有效的解决方案:只需创建一个新的空Highchart:
function emptyChart(chart) {
chart = new Highcharts.Chart(/* chartOptions */);
}
我已经第二次遇到这个问题,现在我终于找到了一个简单但目前唯一有效的解决方案:只需创建一个新的空Highchart:
function emptyChart(chart) {
chart = new Highcharts.Chart(/* chartOptions */);
}
一种干净的方法:
function emptyChart(chart) {
while(chart.series.length !=0) {
chart.series[0].hide();
chart.series[0].remove();
}
}
如果您希望轴也消失,请使用showEmpty:false选项检查,以干净的方式执行此操作:
function emptyChart(chart) {
while(chart.series.length !=0) {
chart.series[0].hide();
chart.series[0].remove();
}
}
如果希望轴也消失,请使用showEmpty:false选项复选框也可以使用setData[]
也可以使用setData[]
然后我通过控制台获得此错误:a.series.push不是函数,chart.series是包含对象的数组[]。然后我通过控制台获得此错误:a.series.push不是函数,chart.series是数组[]其中包含对象。我想清除整个图表:这也不起任何作用。我想清除整个图表:这也不起任何作用。