2

JFreechartには、共通の時間領域軸を持つ4つの時系列チャートで構成される結合プロットがあります。

サブプロットのデータは、さまざまなレートで到着します。たとえば、数ミリ秒ごとに価格変更イベントを受け取り、1分ごとに位置変更を受け取る場合があります。現在、これらのシリーズをXYStepRendererでレンダリングして、ステップチャートを作成しています。

私はこのようなことをしたいと思っています:

  • 価格ポイントは時間Tで受け取られ、チャートにプロットされます
  • 位置チャートの時間Tでデータが受信されていないため、値は変更されておらず、前の位置値がレンダリングされていると想定します。つまり、ステップラインを水平方向に延長します。
  • 時間T+1で位置ポイントが受信され、ステップチャートを変更してプロットされます
  • 時間T+1で価格ポイントが受け取られていないため、前の価格がプロットされます

JFreechartでこれを行う簡単な方法はありますか?現在、動作している実装がありますが、これは想定値のレンダリングを処理しません。

私の最初の考えは、データモデルを変更して、前の値をすばやく見つけ、各サブプロットにイベントが受信されたときに描画するように各サブプロットに指示する呼び出しを変更することでした。

4

1 に答える 1

3

入ってくる変更をバッファリングし、変更をJFreeChartに転送するためのルールセットを適用する必要があると思います(これはリアルタイム作業にはあまりお勧めできませんが、低頻度の更新ではうまく機能することがわかりました)。

価格のデータセットとポジションのデータセットがあると思います。ポジションと価格の更新にはタイムスタンプが付いていますか?そうでない場合は、これらを順番に受信して結び付けようとする問題が発生します(おそらく、特定のタイムウィンドウ内に到着する更新が同じ時刻にマップされますか?)。タイムスタンプがある場合は、価格が入ってきたときに新しいポジション(古いポジションと同じ)を導き出し、必要に応じてそれを置き換えることができます。

ポジション/価格の変更に圧倒された場合に備えて、チャートの更新をポジション/価格の更新から切り離します。それを、すぐに破棄しなければならない複数のグラフの更新に変換することは望ましくありません。

于 2009-07-20T14:36:25.750 に答える