1

setInterval 関数で AJAX および jQuery を介して JSON データを受信するハイseries.data[i].y = response[i].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を使用することをお勧めします。

自分がやっていることを言うのはお勧めしませんが、魔法をかけた後、redrawメソッド(this.redraw())を呼び出してみてください。http: //www.highcharts.com/ref/#chart-object

于 2012-08-04T13:30:15.457 に答える