RTP

RTP

RTP (Real Time Plotter) は標準入力から X-Y のデータ座標を読みながら (ちょうどメカニカルプロッターのように) データ点を線で結んでウィンドウに表示します。
スケーリングは自動で行われますが、任意の矩形領域に設定することもできます。

作者: David Watt さん
ホームページ: http://www.ee.pdx.edu/~watt/rtp/
バージョン: 1.0.1 (2000/03/15)
ライセンス: GPL
付属ドキュメントREADMEを読む

(この README は 1.0 のもので、利用している Qtライブラリの説明が古いです。 1.0.1 は Qt 2.x 対応になっています。 上記ホームページに掲載されている README は改訂されているようです。)

使い方

インストールすると、 /usr/share/doc/rtp-1.0.1/demo_drivers/ に デモ用のデータを作成するプログラム lorentzspiraldrive がありますから、これで試してみましょう。

lorentz (ソースは lorentz.c) は ローレンツアトラクタとして知られている方程式による曲線のデータ座標を 出力します。 適当なターミナル・エミュレータから

$ /usr/share/doc/rtp-1.0.1/demo_drivers/lorentz | rtp

で起動すると、上に示したようなウィンドウが現れてプロットを始めます。

最初はオートスケールになっています。 マウスボタンでドラッグするとその領域が表示の範囲に設定され、 オートスケールは解除されます。
表示範囲が狭くなると、たった今プロットしている点は表示範囲の外になってしまう かもしれないですね。そんな状態で画面の上方にある右側のボタン (Track new points) をクリックすると、表示範囲が新しいプロット点を追い掛けるように なります。
左側のボタン (View full data set) をクリックすると元のオートスケールに 戻ります。
終了ボタンはないので、終わるにはウィンドウを閉じます。

lorentz の出力の最初の10行はこんな感じです。

1.000000 1.000000
1.000000 1.439200
1.070272 1.874308
1.198918 2.336913
1.380997 2.852963
1.616512 3.445900
1.909214 4.138849
2.265955 4.956220
2.696398 5.924941
3.212965 7.075439

数値データの読み込みは、空白、タブ、改行 (まとめて white space といいます) を区切りとして順に X、Y に割り当てます。従って

1 1 2 4 3
5 4 1

というデータは (1,1)、(2,4)、(3,5)、(4,1) の4点の座標と解釈されます。

C でプログラムしなくても、awk、perl などのスクリプト言語でもグラフ、曲線が書けますし、すでに X-Y データがテキストファイルになっていれば

$ cat data.txt | rtp

のように使えます。

ゆっくりプロットしたい場合、例えばおよそ 0.1 秒ごとにするには

$ cat data.txt | while read line; do echo $line; usleep 100000; done | rtp

のようにするとよいでしょう。
データファイルに3つのカラムがあって、第1カラムを X に、第3カラムを Y としてプロットしたいなら awk を使って

$ cat data.txt | awk '{print $1, $3}' | rtp

のようにします。perl の方がお好みなら

$ cat data.txt | perl -ane 'print "$F[0] $F[2]\n"' | rtp

RTP 自身はオプションも設定もないシンプルなプログラムですが、 他のコマンドとの組み合わせで色々な使い方ができます。

インストール

LinuxMLD 7 および MLD 6 では rtp-1.0.1-1_mlb3.i386.rpm (40,092 bytes) をインストールします。

※ MLD 7 では先に、DVD-ROM から qt2-2.3.1-13 を追加インストールしてください。

rpm コマンドでインストールするにはスーパーユーザになって

# rpm -i rtp-1.0.1-1_mlb3.i386.rpm

とします。

LinuxMLD 5 では rtp-1.0.1-1_mlb2.i386.rpm (40,137 bytes) をインストールします。

MLD 5,6 では Gnome の GUI でインストールすることもできます。

その他

オリジナルでは、データの読みとりで X 座標と Y 座標の間は1つの white space でなければいけないようになっていて少々不便なので、 複数の white space があっても良いように 修正を加えています。

参考

標準入力からデータを読み込んでプロット出来るツールとしては、 David Harrison さんの xgraph が古くから知られています (xgraph はデータをすべて読み込んでから表示するので、 RTP のような Real Time のプロットはできません)。 オリジナルはもうメンテナンスされていないようですが、 いくつか派生バージョンがあります。

データのプロットを含む一般的なグラフ作成アプリケーションについては gnuplot のページを参照してください。

[2002/11/23 作成] [2003/10/17 更新]


このページに関する御意見、御要望を science@mlb.co.jp までお寄せ下さい
Copyright © 2002-2005 Media Lab. All Rights Reserved.