3

私は毎分データベースのデータをポーリングする単純なアプリケーションを持っています。新しいデータがフェッチされると、ajaxを使用してグラフを更新しています。ただし、グラフを更新する(プロットデータに新しい値を追加して再プロットする)と、ズームの現在の状態が失われます。グラフを更新する前に、最新のズーム位置を保持したいと思います。グラフを更新した後、保存した位置にグラフをズームしたいと思います。毎分再ズームするのはイライラするので、これは重要です。これは可能ですか?

4

3 に答える 3

3

私は Ozan からこの回答を試しましたが、ズームをコピーするためのブロックを動作させることができなかったので、plot.getOptions() を使用し、それを使用してグラフを描画しました。このような:

var oldOptions = plot.getOptions();
plot = $.plot($("#graph"), data, oldOptions);

このようにして、ビューを動的に変更でき、ビューを変更せずに自動更新が更新されます。

于 2012-03-18T09:11:29.400 に答える
2

Joshua Varner 1による回答は次のとおりです

再プロットする前に新しいデータを取得したら、現在のズームを取得し、更新時にオプションに追加します。

// Get the current zoom
var zoom = plot.getAxes();

// Add the zoom to standard options
var zoomed = {};
$.extend(zoomed,options);
zoomed.xaxis.min = zoom.xaxis.min;
zoomed.xaxis.max = zoom.xaxis.max;
zoomed.yaxis.min = zoom.yaxis.min;
zoomed.yaxis.max = zoom.yaxis.max;

// draw/save the plot
plot = $.plot($("#graph"), d, zoomed);
于 2011-02-07T21:31:14.723 に答える