ホームページ > Java > &#&チュートリアル > 時間ベースの軸がない場合の動的な JFreeChart シリーズの更新をトラブルシューティングするにはどうすればよいですか?

時間ベースの軸がない場合の動的な JFreeChart シリーズの更新をトラブルシューティングするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-16 11:41:11
オリジナル
858 人が閲覧しました

How to Troubleshoot Dynamic JFreeChart Series Updates Without a Time-Based Axis?

JFreeChart を使用して系列を変更する際のランダム エラーのトラブルシューティング

はじめに
この説明では、次の操作を試みたときに発生する問題について説明します。シリーズを追加および削除することで、JFreeChart データセットを動的に更新します。目標は、時間ベースの X 軸に依存したり、DynamicTimeSeriesCollection を使用したりせずに、時間の経過とともに変化するデータ ポイントを視覚化することです。

問題と解決策

提供されたコードは、シリーズの追加と削除を繰り返してデータセットを更新しますが、このアプローチは正しくありません。代わりに、データセットは SwingWorker の process() メソッド内で更新する必要があります。

さらに、時間ではなく反復回数に基づいたドメインでグラフを作成するには、DateAxis の代わりに NumberAxis を使用します。

コード例

次のコード スニペットは、タスクの進行状況を追跡する方法を示しています。折れ線グラフを使用した計算:

private XYSeries series = new XYSeries("Result");
…
@Override
protected void process(List<Double> chunks) {
    for (double d : chunks) {
        label.setText(df.format(d));
        series.add(++n, d);
    }
}
ログイン後にコピー

グラフは計算の進行に応じて自動的に更新されます。

その他の考慮事項

  • 正しい同期: データセットは、次の process() メソッドからのみ変更する必要があります。スレッドの安全性を確保するための SwingWorker。
  • NumberAxis: 非時間ベースの X 軸を持つ折れ線グラフを使用する場合は、ドメインと範囲の両方に NumberAxis を使用します。
  • Shape Visibility: レンダラーのシェイプの可視性を true に設定して、データ ポイントを円として表示します。 line.
  • 進行状況バー: 進行状況バーを使用して、計算の進行状況に関する視覚的なフィードバックを提供します。

以上が時間ベースの軸がない場合の動的な JFreeChart シリーズの更新をトラブルシューティングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート