以前のスレッドは Javaグラフまたはチャートライブラリ にありましたが、JFreeChartは非常に優れていることがわかりましたbut、- FAQに記載 、リアルタイムレンダリング用ではありません。
誰かがリアルタイムレンダリングをサポートする同等のライブラリを推奨できますか?いくつかの基本的なxyレンダリング-たとえば、データ取得システムから電圧信号を取得し、それをすぐにプロットします(x軸の時間、y軸の電圧)。
FAQが実際に言っていることは、JFreeChartがハードリアルタイムチャートをサポートしていないことです。つまり、新しいデータが到着したとき、またはその後の確定的な間隔でチャートが更新されません。ただし、 JFreeChartは、あなたが説明している種類のアプリケーションに使用できます。毎秒1回の更新を達成できます。これは問題ありません。人間の目がこれよりも速い速度で動くとは思えません。
これ以上のものが必要な場合は、Java(または別の言語でも))で何かが見つかるかもしれません。私たちが使用しているオペレーティングシステムは、リアルタイム用に設計されていません。イベント後に最小間隔で応答することが保証されている1秒あたり1〜10フレーム以上を表示するには、ハードウェアドライバーとの緊密な統合が必要です。
ただし、アプリケーションを正しく設計すると、OSは迅速に応答し、アプリケーションは「リアルタイム」のグラフ(1秒に1回更新されるグラフ)を簡単に表示できます。アプリケーションを使用して緊急事態でバルブをシャットダウンしないでください!
visualvm charting library の使用方法に関する説明を偶然見つけました。とても素敵に見えます!
processing を見てください。これは、あらゆる種類のアニメーションによる視覚化のために設計された、オープンソースのJavaベースの環境です。
あなたはおそらく良い解決策をすでに見つけているでしょうが、そうでない場合、私は最近、毎秒50以上の変更の割合でライブ更新を可能にする2Dグラフを作成するためのフレームワークにいくつかの作業を行いました。
元々の目的は、Webページのスクロール領域でのチャートレコーダーの外観を模倣することでしたが、このアプローチはより広い用途があると思います。
デモは Chart Recorder Demo で見つけることができます。
外観はテンプレート(www.journeylog.co.uk/chart/templates/chartRecorder.xml)によって定義されます。 1つの機能は、サーバーまたはブラウザでExplorerCanvasを使用して描画を指定する機能です。
誰かに興味があれば、オープンソースプロジェクトを開始できます。
まあ、それがJavaでなければならないなら、あなたはこれらを調べたくなるかもしれません。
少なくとも私の経験では、リアルタイムで十分な速度は swtchart です。でもで たくさん データの。バージョン番号を気にしないでください。はい、それはかなり新しいAPIですが、問題なく使用できています。
名前が示すように、ネイティブOS描画を使用する [〜#〜] swt [〜#〜] に基づいています。また、データセット内のすべてのポイントを描画するのではなく、描画を高速化するための巧妙な最適化も行います(ラージシリーズのサンプルスニペットを参照)。
JACketは、特に組み込み環境でより少ないメモリを対象とする非常に優れたライブラリです。 https://sourceforge.net/projects/jcckit 。
100 kb未満です。
NetBeansのソースを掘り下げることができます。プロファイラーは、メモリ使用量などのさまざまな事柄をリアルタイムでグラフ化します。
SWT XYGraph は、独自のデータプロバイダーでデータをプロットできるため、ライブデータを提供するリアルタイムデータプロバイダーを作成できます。 SWTChartとJFreeChartでは、配列全体を準備する必要があります。
この質問は、以下でよく回答されています。 Javaリアルタイムグラフプロット
VisualVMにはCharting APIが含まれており、このAPIはJDKに含まれているため、優れた/高速のCharting APIを利用できます。