5

高性能アプリケーションに使用できるデータ (主に折れ線グラフなど) をプロットするためのツールを見つけようとしています。私のデータ ウィンドウには通常、500 から数千のポイントが含まれており、フレームレートは 10 程度で十分です。データをソケットでバイナリ ストリームとして受け取ります。私はMac OS Xを使用しています。

私はいくつかの解決策を試しましたが、それらの経験について以下で説明します。

R : 非常に遅く、ついていけない、ソケットを読むのが苦痛、グラフのちらつき。

matplotlib : かなり遅いですが、少し使いやすいです。ただし、実行するには大量の Python 機構が必要であり、IMO の API はかなり不透明です。頻繁に更新されると、グラフを含むウィンドウがモーダルになり、Mac のビーチボールが表示されます。ユーザーとのやり取りには適していません。

Gnuplot : パフォーマンスと API が大幅に向上しました。しかし、大量のデータを gnuplot に通信することは、一時的な ASCII (!) ファイルを生成することによって行われます。これは、フレームレートが上がると大量のディスク読み取りを開始することを意味し、これはパフォーマンスの問題です。

他の提案はありますか?

4

3 に答える 3

6

一時ファイルではなく、パイプされたデータを使用して gnuplot を試してください。使用例:

plot "data_acquisition_cmd <" with image

パイプからコマンドを読み取ることで、replot のエンドレス ストリームをパイプすることもできます。

load "while [ 1 ]; do echo 'replot'; done <"

より堅牢な解決策として、 GnuplotIFや Python ( gnuplot.py )などの Perl から gnuplot へのインターフェースを使用することを検討してください。これらのインターフェースは、gnuplot のプログラムによる制御とデータを直接渡す機能の両方を許可するためです。

編集:構文修正をありがとうJonhoo

于 2012-03-01T13:12:00.137 に答える
0

QCustomPlot http://www.workslikeclockwork.com/index.php/components/qt-plotting-widget/を使用して、Qt で独自のデータ視覚化プログラムを作成することを検討できます。

リアルタイム データを表示でき、出力品質が非常に優れているため、過去に同様のプロジェクトで使用したことがあります。

于 2012-07-09T12:20:20.530 に答える