web-dev-qa-db-ja.com

jqplotオブジェクトを再利用して、データをロードまたは再プロットします

チャートにJqPlotを使用していますが、問題は、さまざまなクリックイベントでさまざまなデータをロードしたいということです。

ただし、グラフが作成され、初めてデータが読み込まれると、別のイベントが発生したときにデータをロードする方法がわかりません。つまり、チャートオブジェクトを再利用し、イベントが発生したときにデータをロード/再プロットしたいのですが...

chartObj.data = [graphData]
14
Hunt

これは、データを再プロットするのに役立つようです。

chartObj.series[0].data = [[0, 4], [1, 7], [2, 3]];
chartObj.replot();

また、これを確認することもできます: https://groups.google.com/group/jqplot-users/browse_thread/thread/59df82899617242b/77fe0972f88aef6d%3Fq%3D%2522Groups.%2BCom%2522%2377fe0972f88aef6d&ei=iGwTS6ea t&ct = res&cd = 71&source = groups&usg = AFQjCNHotAa6Z5CIi_-BGTHr_k766ZXXLQ?hl = en 、お役に立てば幸いです。

19
grilix

jqplotは、高速で動的なデータ更新を可能にします。

ドキュメント (データセクション)によると、 "オプションオブジェクトでデータを指定しないでください..."(- フィドル

plot1.replot({data: [storedData]}); // data should not be passed this way

"...ただし、$。jqplot()関数の2番目の引数として渡されます。"

if (plot1) plot1.destroy();
plot1 = $.jqplot('chart1', [storedData]); // similar speed to replot

fiddle は、これが同様のパフォーマンスで実行できることを示しています。

2
PaulH

グラフをレンダリングする前に、空のグラフdiv

$('#graphDiv').empty();
plot = $.jqplot('graphDiv', [graphValues], graphOptions);
1
Jaykishan

APIにはreplot/redrawメソッドがあります

Redrawこれにより、プロットデータとプロパティを変更し、プロットを完全にクリアして再描画することができます。

0
Josiah Ruddell