使用预设选项创建我的Highchart可以正常工作:
chart = new Highcharts.Chart(options);
然而,当我想要销毁并重建图表时,它只会破坏。即使我删除了chart.destroy();
,图表仍然只是完全消隐,但没有重新创建。
$('#resetChart').on("click", function(e){
e.preventDefault();
chart.destroy();
chart = new Highcharts.Chart(options);
});
这里有点关于如何重置此图表。
编辑::
检查图表容器显示饼图正在此处创建某些内容,但似乎没有正确检索数据。我是否还需要再次传入我的数据变量,即使它已在选项中设置了?
series: [{
name: name,
data: data,
/* changes bar size */
pointPadding: 0,
borderWidth: 0,
pointWidth: 15,
shadow: false
}]
然后在页面上定义数据(对于我们的CMS):
<script type="text/javascript">
data = [
{
y: {value},
name: 'field1',
id:'1'
},
{
y: {value},
name: 'field2',
id:'2'
},
{
y: {value},
name: 'field3',
id:'3'
}
];
</script>
答案 0 :(得分:6)
$('#resetChart').on("click", function(e){
e.preventDefault();
while(chart.series.length > 0) chart.series[0].remove(true);
chart = new Highcharts.Chart(options);
});
答案 1 :(得分:4)
当你第一次创建图表时,你传递了一些选项,你可以将它们保存到var中,当你想再次创建时,你可以使用相同的选项,如下面的代码。
var defaultOptions = {
// your options
};
function drawDefaultChart() {
chart = new Highcharts.Chart(defaultOptions);
}
drawDefaultChart();
$('#resetChart').on("click", function(e){
e.preventDefault();
chart.destroy();
drawDefaultChart();
});
您可以看到它正常工作 here 。