1

我有一个 Highchart 在 setInterval 函数中通过 AJAX 和 jQuery 接收 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);}
4

1 回答 1

2

您不应直接修改 this.series[0] 对象。Highcharts 有您可以使用的 api 调用,它们应该用于正确的结果,而不是无意中破坏任何东西。以下是系列对象@http://www.highcharts.com/ref/#series-object 支持的方法列表

根据您的要求,您可能希望使用 addPoint 或 setData。

我不建议你这样做,但在你施展魔法之后尝试调用重绘方法(this.redraw()),http: //www.highcharts.com/ref/#chart-object

于 2012-08-04T13:30:15.457 回答