GNUPLOT

UNIXメモ / 作成: 2000-11-01 / 更新: 2001-08-13


GNUPLOTの説明

GNUPLOT (鳥取大学 工学部 応用数理工学科)
わが応用数理工学科の電算機演習室利用者のための簡易資料。
GNUPLOT (小栗栖 修)
非常に有用なリンク集。
GNUPLOT 3.5 マニュアル (JF)
公式マニュアルの日本語訳。

豆知識

「生活の知恵」的な、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.
plot [-5:5] [-3:3] "orbit.dat"
とすればよい。 なお、(3/5ではなく) 小数点つきで3./5.とする必要があることに注意。

関数のグラフをより高い解像度で描く方法:

たとえば

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)
このように [ ] のなかに等号を用いて変数名を指定できる。

[ページの冒頭に戻る] [UNIXメモに戻る] [ホームページに戻る]