我正在尝试在高图上重绘数据。我使用此代码初始化图表。
Highcharts.chart('container', {
chart: {
events: {
click: function(event) {
alert (
'x: '+ Highcharts.dateFormat('%Y-%m-%d', event.xAxis[0].value) +', ' +
'y: '+ event.yAxis[0].value
);
}
}
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
yAxis: {
title: {
text: 'Amount'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function() {
alert ('Category: '+ this.category +', value: '+ this.y);
}
}
}
}
},
series: [{
name: 'Expected',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
}, {
name: 'Received',
data: [1.0, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
}],
});
使用HTML按钮,我称呼以下
Highcharts.chart.series[0].setData([129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4] );
它出现以下错误
“未捕获的TypeError:无法读取未定义的属性'0'”
是否可以通过这种方式更新图表?
首先,您需要将聊天对象存储在变量中。
var chart = $('#container').highcharts(),
下一个
chart.series[0].setData([129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4] );
最后,您可以通过以下方式重绘()图表:
chart.redraw();
请看下面的例子。
要更新图表,我通常会这样做:
var chart = $('#container').highcharts(); //Div containing HighChart
chart.series[0].update({
pointStart: newSeries[0].pointStart,
data: newSeries[0].data
}, true); //true / false to redraw
PS:这将在3.0.1版之后运行。