jqplot折れ線グラフを使用しました。ajaxを使用してphpページからデータを取得しました。ある条件では、特定のシリーズを表示します。
jqplot折れ線グラフでシリーズを動的に渡し、シリーズの凡例を設定する方法は?
上記の要件のコードを手動で記述しました。凡例シリーズにクリックイベントを適用し、凡例のクリックごとにグラフを描画しました。
シリーズの凡例の選択/選択解除に従って、y軸の値も変更しました。
jqplot折れ線グラフを使用しました。ajaxを使用してphpページからデータを取得しました。ある条件では、特定のシリーズを表示します。
jqplot折れ線グラフでシリーズを動的に渡し、シリーズの凡例を設定する方法は?
上記の要件のコードを手動で記述しました。凡例シリーズにクリックイベントを適用し、凡例のクリックごとにグラフを描画しました。
シリーズの凡例の選択/選択解除に従って、y軸の値も変更しました。
私はもともと@sdespontによって投稿された回答を試しましたが、シリーズに配置する必要のある追加のプロパティのために、正しく機能していませんでした。次のようにすることで、これを機能させることができました。
plot1.data = data;
plot1.replot( data );
データは、プロットを作成するときに渡すのと同じ構成の3D配列です。どちらか一方を実行せずに実行すると、適切に更新されませんが、2つの組み合わせでうまくいくようです。この方法でプロットを更新すると、データ配列に追加した系列が動的に追加または削除されます。
お役に立てば幸いです。
plot1.series
配列をいじって、シリーズを追加または削除できます。
ここに良いjsfiddleがあります:jsfiddle.net/fracu/HrZcj
アイデアは、データで配列を作成することです
myNewSerie = Array();
x = (new Date()).getTime();
y = Math.floor(Math.random() * 100);
myNewSerie.push([x, y]);
次に、次に使用可能なスロットを使用してグラフに追加します
plot1.series[plot1.series.length] = myNewSerie
そして最後にplot1.replot();
updateSeries
フィドルの最後にある関数を確認してください
テストされていませんが、動作するはずです
私は最近同じ問題を抱えていました。「再プロット」は機能しますが、非常に遅いです。猛烈に速い「jQPlot.drawSeries」を使用しました。いつものように新しいシリーズ データを jQPlot に渡して呼び出すだけです。jQPlot.drawSeries({}, <nr of your series from 0...xxx)
値が 800 のリアルタイム チャートは、PC では >> 60 FPS で実行され、モバイルでも非常に高速です。