Highcharts - 重绘空图表

时间:2012-06-19 21:44:31

标签: javascript highcharts

我在网站上有一个呈现的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控制台或其他地方收到任何错误,只是没有任何反应......

5 个答案:

答案 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([])

http://api.highcharts.com/highcharts#Series.setData()