シェルの実行

< から始まる文字列を plot の対象にすると, gnuplot はこれをシェルコマンドとして実行して, その標準出力を用いる.

Examples

seq

seq 100 は 1 から 100 までの整数を 100 行で出力する. これをデータと思えば次のような事ができる.

plot '<seq 100' title 'seq' ,\
     '<seq 100' u 1:($1*sin($1/pi)) smooth bezier title 'seq * sin(seq)'
Gnuplot Produced by GNUPLOT 6.0 patchlevel 0 -100 -80 -60 -40 -20 0 20 40 60 80 100 0 20 40 60 80 100 seq seq seq * sin(seq) seq * sin(seq)

データのフィルタ

次のようなテキストファイル ( data.txt ) があるとする.

A 3
B 10
A 4
B 11
A 5
B 12

このときに A のある行だけのプロット, B の行のプロットを行うには, grep によるフィルタを利用すればよい.

plot '< grep A data.txt' title 'A' ,\
     '< grep B data.txt' title 'B'

パイプ

パイプを含んだシェルコマンドも問題なく動く.

plot '<seq 100 | grep 3' title '3のつく数' pt 3
Gnuplot Produced by GNUPLOT 6.0 patchlevel 0 0 10 20 30 40 50 60 70 80 90 100 0 2 4 6 8 10 12 14 16 18 3のつく数 3のつく数