1

単純なヒストグラムを使用してプロットしたい着信データのストリームがあります。値の範囲、またはヒストグラムに使用する適切な解像度またはビン幅がわかりません。

SimpleHistogramDatasetはこの機能の一部を提供しますが、新しい値がカバーされていない場合に、新しいビンを追加するために例外をキャッチする必要はありません。さらに、異なるビン幅 (おそらく初期設定幅の整数倍) を使用してヒストグラムを再構築することは容易ではありません。

JFreeChart や別のグラフ作成ライブラリを使用してこれを実現する簡単な方法はありますか? それとも、ここで独自のクラスを作成する必要がありますか?

4

2 に答える 2

3

古典的なMVCシナリオがあるように思えます。チャートはビューであり、コントローラーはモデルに基づいてこのビューの再構築を調整します。

したがって、入ってくるデータを反映するようにモデルを構築する必要があり、コントローラーはこれに基づいてチャートを再生成します。したがって、コントローラは、既存のチャートを変更するか、新しい要件に基づいて完全に再構築するかを決定できます。グラフの実装 (ビュー) は、動的に変化するデータ構造自体を保持するのには適していません。

于 2010-03-13T19:42:31.230 に答える
2

を呼び出す前にaddObservation()、値がいくつかのビンに収まるかどうかを確認する必要があります。それに応じて使用しaddBin()てください。チャートが再描画されると、ビンは自動的にサイズ変更されてプロット領域を埋めます。これが望ましい動作でない場合は、対応するXYBarRendererを拡張できます。ビンを削除する必要がある場合は、を使用する必要がありますremoveAllBins()。これにより、BrianAgnew MVC提案はさらに説得力のあるものになります。

参考までに、このはXYシリーズを動的に追加した場合の効果を示しています。更新がどのように行われるかを理解できる場合があります。

于 2010-03-14T00:52:34.880 に答える