我努力理解更新highcharts图的正确方法。 假如我做了一件图表,然后我想以某种方式来更新它。 举例来说,我可能要更改数据系列的值,否则我可能要启用dataLabels。
目前,我可以找出如何做到这一点的唯一方法是改变图表选项,并使用new Highcharts.chart
告诉highcharts重绘。
但是,我不知道是否这可能是矫枉过正,并有可能改变“原位”的图表,而不必从从头开始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();
});
http://jsfiddle.net/sUXsu/18/
[编辑]:
对于未来这个问题的观众,值得注意的是没有方法来隐藏和显示dataLabels。 下面介绍如何做到这一点: http://jsfiddle.net/supertrue/tCF8Y/