11

GUI を含む科学実験制御プログラムを Java で作成しています。

このタスク用のチャート ライブラリの選択を支援します。プログラムには、次の 2 種類のチャートが含まれます。

  1. 多くのデータ ポイント (プロットごとに 10^4 ~ 10^5 ポイントの範囲) を含む折れ線グラフで、リフレッシュ レートは 0.5 ~ 1 秒ごとに約 1 回であるため、パフォーマンスが重要な要素になります。このグラフには、異なる尺度のデータ ポイントのセットを含める必要があります。

  2. エラーバーを含む必要がある多くのデータ ポイントのない散布図、またはポイントのエラーを示す何らかの方法。できれば X 軸と Y 軸の両方で、たとえば十字線スタイルで。

対数スケールも必須で、優れたズーム ツールとエクスポート ツールも便利です。可能性のある単一のパッケージを使用して、両方のチャートのソリューションを希望します。

私が行った調査から、ほぼ完璧なオプションは javaFX 2.0 のようです。私が読んだところによると、パフォーマンスが高く、見栄えも良いのですが、エラーバーのオプションが見つからないようです。私は javaFX をまったく知らないので、チャート ライブラリを拡張してエラー バーを含めるのは簡単ですか、それとも私が見つけられなかったこれを含むオープン ソースのアドオンはありますか?

もう 1 つのオプションは、必要なすべての機能を備えているように見える Google チャート ライブラリですが、最初のチャート タイプではリフレッシュ レートが問題になるのではないかと心配しています。これは実行可能な懸念事項ですか?

JFreeChart を使ったことがあるのですが、パフォーマンスが気になり、小さな変更を加えるのも非常に難しいと感じました。これらには、matlab で可能なように、チャートが作成された後に実行時にプロットされたポイントの色を変更する方法が含まれます。これには、多くの余分なコーディングと時間の消費が必要ですが、それを避けようとしています。

最も実用的と思われる最後のオプションは JChart2D です。私が必要とするほとんどの機能を備えているようですが、私の唯一の問題は、見栄えがよくないことです。

誰か私におすすめはありますか?私はこれをできるだけ短い時間でコーディングする予定です。最悪のシナリオは、サードパーティのパッケージにバグがあることや、必要なオプションが利用できず、多くの追加コードが必要であることを発見することです。新しいことを学べてよかった。

もちろん、この決定は、私が使用することを選択した GUI パッケージ全体に影響を与える可能性があります。これは現在 Swing のようです。

ありがとう、

4

5 に答える 5

8

JavaFX2.0とJFreeChartは実際には比較できません。JFreeChartは、JavaのGUI環境であるSwing用のチャートライブラリです。一方、JavaFX2.0はSwingの代替手段です。Java FX 2.0は、標準ライブラリの一部としていくつかのチャートオブジェクトを提供しますが、JFreeChartで利用できるものほど柔軟でカスタマイズ可能ではありません。もちろん、Java FX 2.0はJavaであり、使用可能なコンポーネントを拡張することによって、必要な非常に具体的なチャートをコーディングすることを妨げるものは何もありません。

Java FX 2.0

  • 長所:Swing(個人の主観的な意見)よりもモダンなルックアンドフィールであり、数年以内にJavaの新しいGUI標準になる可能性があります
  • 短所:既存のグラフ作成コンポーネントの強化により多くの時間を費やす必要があり、あまり広く使用されていない=サポートが少ない+行き詰まった場合のコミュニティが小さい

スイング:

  • 長所:利用可能なチャートライブラリがたくさんあります(JFreeChartは非常に包括的なものですが、あなたが言及するように代替手段があります)。活発で幅広いコミュニティ。
  • 短所:私は個人的にルックアンドフィールがあまり好きではありません-ある段階で時代遅れになる可能性がありますが、明日は明らかにそうではありません。
于 2012-05-13T13:03:46.867 に答える
5

JFreeChartこれらの用途に最適です。オープン ソースであるため、状況に応じて簡単にテストできます。ここFastScatterPlotで説明します。ここに示すように、作成後にプロットを変更するのは簡単です。ここここに示すように、任意の配色が可能です。

于 2012-05-13T00:49:51.097 に答える
3

JFreeChartOrson Charts (Java2D ベース) を JavaFX で使用できるようにするために、JavaFX Canvas を基盤とする Graphics2D API を提供する新しいプロジェクトを作成しました。プロジェクトは GitHub のFXGraphics2Dです。他の Java2D ライブラリーにも使用できます (コードは BSD スタイルのライセンスの下にあります)。

于 2014-05-20T09:09:46.790 に答える
1

Open Office をチャート エンジンとして使用できます。Java/UNO ブリッジがあります。JavaFX は便利ですが、チャートは JFreeChart API ほど柔軟ではありません。FX パトリック内で JfreeCharts を使用することが解決策となります

于 2012-07-29T11:05:28.883 に答える
0

最高の科学的 Java グラフ作成パッケージは、The MathWorks によって提供されています。MATLAB Builder JAを使用すると、プロットをコーディングしたり、必要に応じて計算部分を MATLAB でコーディングしたり、Java クラスに変換したりできます。

欠点が 1 つあります。このパッケージを最後に使用したときは、アプリケーションにプロッティング ウィンドウを含めるオプションがありませんでした。プロットは常に別のウィンドウに表示されます。

もう 1 つの懸念事項は、このソリューションの価格です。

matplolibは MATLAB の最も近い競合相手ですが、Jythonの実装は今のところありません。

于 2012-05-12T15:52:26.227 に答える