November 24, 2005リアルタイム gnuplot[Computer]
計算結果を結果が出次第、流れるようなグラフにしたい、そんなことがありました。そこでプログラムとグラフ描画ソフトのgnuplotをつないで、リアルタイムでグラフをかけないかということを考えてみました。 gnuplotへはパイプという方法で外部のプログラムからコマンドを流し込むことが可能です。 流れるグラフですが、C++のアルゴリズムであるqueue(FIFO)と組み合わせれば簡単にできます。新しいデータが入ってくるたびに一番古いデータを追い出し、gnuplotを再描画すればいちおう流れるグラフを書くことが出来ました。あくまでもいちおうなので、データ量が多かったり、更新周期が早いと画面がちらつきます。gnuplotがそういうリアルタイム用途むけでないという話もあるのですが(笑)。 サンプルコードとしてgnuplot_test.cppをおいておきます。コンパイルには、C++からgnuplotのパイプを扱いやすくしたgnuplot.h、ならびにutil以下の一部のヘッダが必要だと思います。gnuplotへのパスは適宜変更してください。 コメント
コメントする
|
スポンサード リンク
|