0

毎秒動的に供給される予測データを表示するために、折れ線グラフ (Highcharts) を使用しています。ただし、各シリーズに 48 個のデータのみを表示したいと考えています。シリーズに新しいポイントを簡単に追加できますが、新しい要素を追加した後にシリーズの最初の要素を削除する方法が見つかりませんでした。

setInterval(function () {
  $.get("cross/forecast", { numOfData: 1 }, (function (chart) {
    return function (data) {
      console.log(data);
      var d = jQuery.parseJSON(data);
      // I NEED TO REMOVE FIRST ELEMENTS IN EACH SERIES
      //... something like chart.series[0].removePoint(0,true)
      for (var i = 0; i < d.length; i++) {
        chart.series[0].addPoint(d[i][0], true);
        chart.series[1].addPoint(d[i][1], true);
        chart.series[2].addPoint(d[i][2], true);
      }
    };
  })(chart), "text");
}, 1000);
4

1 に答える 1

1

ほとんど...試してください:

chart.series[0].data[0].remove();

最初のポイントを削除するには (dataは でありarray、配列は 0 ベースです) ...ここでの作業例

削除の周りに if ステートメントを追加したい場合は、次のようなものを使用してシリーズのポイント数を確認できます。

if (chart.series[0].data.length >= 49) {
  chart.series[0].data[0].remove();
}
于 2012-11-15T15:07:33.123 に答える