2

ポイント グラフをプロットしていますが、グラフは 5 秒ごとに新しいデータで更新されます。ここで、最小範囲と最大範囲は常に固定されています

現在、サーバーから新しいデータを取得すると、新しいデータを既存の source.data にマージし、完全なグラフをプロットします。

そのため、完全なデータを何度も再描画したくありません。source.data の長さが長くなると、パフォーマンスが低下します。したがって、完全なデータを再描画する代わりに、新しいデータのみを既存のグラフに追加できますか

ソースコードはこちら

var source = [
    { 
        data: [], 
        show: true, 
        label: "Constellation", 
        name: "Constellation",
        color: "#0000FF",
        points: { 
            show: true,
            radius: 2, 
            fillColor: '#0000FF'
        }, 
        lines: {
            show: false 
        }
    }
]

var options = {...}

$.getJSON(URL , function(data) {
   ...
   $.merge(source[0].data, new_data);
   plotObj = $.plot("#placeholder", source, options);
}
4

2 に答える 2

5

次の手順に従います。

plotObj.setData(newData);
plotObj.setupGrid();  //if you also need to update axis.
plotObj.draw();       //to redraw data

別の便利なメソッドは getData() です。このメソッドを使用すると、現在のデータを取得できます。

var data = plotObj.getData();
于 2015-03-04T16:17:38.230 に答える