我有一个Highchart,它通过AJAX和jQuery在setInterval函数中接收JSON数据,当我使用series.data[i].y = response[i].y
时,y的值是变化的,但是在图表中显示剂量并且点的高度具有先前值但是在工具提示中显示最近的价值?并且x值剂量一直变化,请帮助我如何更新x和y值,如果它是变化的?
chart:{ renderTo: 'container',
zoomType: 'xy',
plotBackgroundImage: 'graphics/skies.jpg',
events: {
load: function () {
var series = this.series[0];setInterval(function () {ajax({type: "POST",url: "/Home/GetData",data: null),contentType: "application/json; charset=utf-8",success: function (response) { for (var i = 0; i < response.length; i++) { if (series.data[i].y =response[i].y || series.data[i].category != response[i].x) { series.data[i].y =response[i].y; series.data[i].category = response[i].x;} }}, dataType: "json",failure: ajaxCallFailed });}, 50000);}
答案 0 :(得分:2)
您不应该直接修改this.series [0]对象。 Highcharts有你可以使用的api调用,它应该用于正确的结果而不是无意中破坏任何东西。 以下是系列对象@ http://www.highcharts.com/ref/#series-object
支持的方法列表您可能希望根据您的要求使用addPoint或setData。
我不建议你这样做,但是在你做了魔术之后尝试调用重绘方法(this.redraw()),http://www.highcharts.com/ref/#chart-object