我很难理解更新highcharts图表的正确方法 . 假设我已经渲染了一个图表,然后我想以某种方式更新它 . 例如,我可能想要更改数据系列的值,或者我可能想要启用dataLabels .
目前我唯一可以弄清楚如何做到这一点的方法是改变图表选项,并使用 new Highcharts.chart 告诉highcharts重绘 .
但是,我'm wondering whether this may be overkill and it might be possible to alter the chart ' in situ',无需从头开始 new Highcharts.chart . 我注意到有一个 redraw() 方法,但我似乎无法让它工作 .
很感谢任何形式的帮助 .
谢谢,
知更鸟
示例代码如下,底部有一个jsFiddle
$(document).ready(function() {
chartOptions = {
chart: {
renderTo: 'container',
type: 'area',
},
series: [{
data: [1,2,3]
}]
};
chart1 = new Highcharts.Chart(chartOptions);
chartOptions.series[0].data= [10,5,2];
chart1 = new Highcharts.Chart(chartOptions);
//The following seems to have no effect
chart1.series[0].data = [2,4,4];
chart1.redraw();
});
[编辑]:
对于此问题的任何未来 Spectator ,值得注意的是没有隐藏和显示dataLabels的方法 . 以下显示了如何执行此操作:http://jsfiddle.net/supertrue/tCF8Y/