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