1

私の必要は、ユーザーがデータを入力すると、線が順番に認識されるように、いくつかの線の基本的な x 軸、y 軸のプロットを描画することです。jqPlot には、(少なくとも私が理解しているように、flot とは異なり) 既存のプロットに追加する機能があるようです。これまでの私の実験は次のとおりです。

$.jqplot('dpCum',[ld.fCumPairFwd[0]],{axes:{xaxis:{min:0,max:2500},yaxis:{min:0,max:200000}}});
$.jqplot('dpCum',[ld.fCumPairAft[0]],{axes:{xaxis:{min:0,max:2500},yaxis:{min:0,max:200000}}});

2行目の背景が1行目を覆い隠すことを除いて、私が望むように2行を生成します。実際には、2 行目のデータは、ユーザーが 1 行目に応答するまでわかりません。その後、ユーザーは両方を一度に見たいと思うようになります。

私はjqplotのドキュメントでいくつかのパスを作成しました(その機能は明らかに印象的です)が、新しい行が追加されたときに既存の行を表示し続ける方法は私を逃れます. z 軸に何らかの不透明性があるのではないかと考えていますが、まだ理解できていません。

4

1 に答える 1

1

あなたの問題に対する答えは、replot()メソッドを使用して、変更されたデータセットで新しいプロットをペイントすることだと思います。

このアプローチは、次のサンプルに示されています。クリックに応答するインデックス 0 のシリーズのみを作成したことに注意してください。シリーズのデータ​​ ポイントをクリックすると、別のデータ ポイントが描画されます。


編集:私が行った理由はreplot()、単一のシリーズだけを描く方法を理解できなかったからです. @Mark here が提示したアプローチを試しましたが、成功しませんでした。彼はもっとよく知っているかもしれません。私はjqPlot自分自身にかなり新鮮です。また、新しいシリーズを追加すると、一部のポイントが現在のスケールの外側に達する可能性があるため、redraw()jqPlot の作成者がここで述べたように再スケーリングされないため、グラフを再初期化するため、私の場合は機能します。したがって、単一のシリーズ描画を適用することもできない場合は、redraw()代わりにメソッドを使用してみてください。ドキュメントから取得すると、呼び出す方が安価だと思います。

この場合、実際にはreplot()orredraw()を使用しないかもしれません。サンプルのように、毎回新しいプロットを作成しています。destroy()したがって、新しいグラフを描画する前に、前のグラフを呼び出す方が適切であるように思えます。これは、現在コード サンプルに含まれているものです。

于 2012-06-19T10:15:29.707 に答える