UNIXメモ / 作成: 2000-11-01 / 更新: 2001-08-13
「生活の知恵」的な、GNUPLOT豆知識。
最近のGNUPLOT(ver.3.6以降、あるいはver.3.5でもpatchlevelの高いもの)では、 ベクトル場のデータを描画することができるようだ。 また、デモファイルがついてきている場合は
% locate vector.demで そのありかが分かるので、参考にすると良いかもしれない。 ただし、このデモファイルは勝手にデータファイルを作成するので、 実行する際には、たとえば
% cd ~/work/gnuplot_demo/ ; pwd ;のように、 適当な作業用ディレクトリに移動してから実行すること。
% gnuplot /doc/gnuplot/examples/vector.dem
もし縦軸と横軸の変域が同じであるなら、描画領域を正方形にすればよい。 そのためには
set size squareまたは
set size 1.41421356 / 2 , 1と入力して正方形領域に設定し、続いて
plot [-5:5] [-5:5] sin(x)のように値の範囲を指定して描画させる。
plot [-3:3] [-3:3] "orbit.dat"
縦軸と横軸の変域が異なる場合は、たとえば
set size ratio 3./5.とすればよい。 なお、(3/5ではなく) 小数点つきで3./5.とする必要があることに注意。
plot [-5:5] [-3:3] "orbit.dat"
たとえば
plot [0:50] sin(x)とすると、本当はなめらかな正弦曲線になるはずなのに、 なぜかギザギザしたグラフになってしまう。 これは、グラフを描くときに用いる点の個数が少ないためである。 点の個数を増やして解像度を上げるには
set samples 500などとする。 デフォルトの個数は
show samplesとすれば分かる(ふつうは100個)。
個数が少ないまま描画すると、 場合によっては完全に間違ったグラフを描きかねない。 たとえば
plot [0:20] sin(x*x)を試してみるとよい。 離散データと連続データの間にある大きな断絶を かいま見ることができるかもしれない。
毎回同じようなオプションを指定する代わりに、 事前にsetコマンドでスタイルを設定しておくと プロットが楽になる場合がある。
たとえば
plot 'a01.dat' with line, 'a02.dat' with line, 'a03.dat' with line, ...のように 毎回 `with line' を設定する代わりに、 最初に
set data style lineと指定しておけば、あとはwith line を省略して
plot 'a01.dat', 'a02.dat', 'a03.dat', ...だけで済むようになる。
ここでいう「横軸の変数名」とは、関数のプロットで 何という独立変数を用いるか? ということを意味する。 デフォルトでは「横軸の変数名」は x なので、 関数をプロットするには
plot exp(-x**2)のように x の関数を指定することになる。
しかし、表示したい関数が いつでも x の関数だとは限らない。 たとえば sin(t) のような t の関数を表示させるには、 plotコマンドを実行するまえに
set dummy tとして「横軸の変数名」を t に切り替える必要がある。 こうやって切り替えたあとで、たとえば
plot sin(t)を実行すれば良い。
plot [t=0:10] sin(t)このように [ ] のなかに等号を用いて変数名を指定できる。