[GNUPLOT]GNUPLOTの起動から終了まで

[Hard!] 「急カーブ」のマークがついている節は、いくぶん高度な内容を扱っている。


* 使ってみよう

* まずは起動から

GNUPLOTを起動し、ごく簡単なグラフを描画して終了する、というのをやってみよう。GNUPLOTのUNIX上でのコマンド名は、小文字の"gnuplot"である。これをシェルのプロンプトに打ち込んで起動する。
(太字の部分は、キーボードから入力した部分)

% gnuplot
        G N U P L O T
        Unix version 3.7
        patchlevel 0 (+1.1.8 1998/01/27)
        last modified Thu Jan 14 19:34:53 BST 1999

        Copyright(C) 1986 - 1993, 1998, 1999
        Thomas Williams, Colin Kelley and many others

        Type `help` to access the on-line reference manual
        The gnuplot FAQ is available from
                <http://www.uni-karlsruhe.de/~ig25/gnuplot-faq/>

        Send comments and requests for help to <info-gnuplot@dartmouth.edu>
        Send bugs, suggestions and mods to <bug-gnuplot@dartmouth.edu>


Terminal type set to 'x11'
gnuplot>

演習室のLinux上のGNUPLOTでは、表示されるバージョンが異なる(多少古い)が、機能には大差ない。最後の gnuplot>という行は、GNUPLOT が出すプロンプトで、ここにGNUPLOT用のコマンドを打ち込むことで、グラフを描くなどGNUPLOTの機能を利用する。

* 関数のグラフを描いてみよう

例として正弦関数y=sinxのグラフを描いてみる。プロンプトに次のように打ち込む。

gnuplot> plot sin(x)

次のようなグラフが表示されるはずである。(背景色やフレームの体裁などは、利用しているウィンドウシステムの設定によって異なる。)

[y=sin(x)]

正弦関数と余弦関数を両方プロットしてみよう。単にカンマで区切って並べるだけである。

gnuplot> plot sin(x), cos(x)

* グラフを描く範囲の指定

これ以降は、GNUPLOTのPNGファイル出力機能を利用した図面を載せる。グラフの様子がX Window System上や印刷時のイメージといくぶん異なるが、本質の部分は変わらない。

さて、グラフを描く範囲を変えるには、2つの方法がある。

plotコマンドに範囲を指定する

上の例では、GNUPLOTが自動的に(勝手に)横軸の範囲を-10〜10にしてしまっていた。これを-20〜20にするには、

gnuplot> plot [-20:20] sin(x)

と指定する。範囲は角括弧で囲い、区切り文字はコロンである(セミコロンではだめ)。縦軸の範囲も一緒に指定したければ、たとえば

gnuplot> plot [-20:20] [-2:2] sin(x), cos(x)

と指定する。

[range specified]
縦横軸の範囲を指定した例(正弦、余弦関数)

set xrange(yrange)コマンドを用いる

GNUPLOTはグラフの体裁を変更するためのたくさんの"setコマンド"がある。横軸、縦軸の範囲を指定するコマンドもある。以下の3行のコマンドは、上の例と同じグラフを出力する。

gnuplot> set xrange [-20:20]
gnuplot> set yrange [-2:2]
gnuplot> plot sin(x), cos(x)

setコマンドの指定は、これ以降のすべてのplotコマンドに引き継がれる。上の例の場合、縦横軸の範囲の指定がそれ以降のすべてのプロットに引き継がれる。同じ範囲のグラフをたくさん作るときに便利である。

[Hard!] 範囲指定をGNUPLOTにまかせる(標準の状態に戻す)には、次のように指定する。

gnuplot> set xrange [*:*]
gnuplot> set yrange [*:*]

* replot

横軸の範囲をちょっと変えただけで、いちいち "plot sin(x), cos(x)" と打ち直すのはかったるい。実際の演習ではもっと長いコマンドを打つこともあるだろうから、なおさらである。ここでちょっと楽をするために、replotというコマンドを覚えよう。

たとえばさっきのグラフで、さらに広い範囲のグラフがほしくなったとしよう。このときは横軸の範囲を変えてからreplotすればよい。

gnuplot> set xrange [-30:30]
gnuplot> replot

replotは直前のplotコマンドを再実行する。ここで注意してほしいのは、直前のplotコマンドが "plot [-20:20] sin(x)" のように範囲を指定したプロットだったとすると、それを再実行するので、 "set xrange [-30:30]" の指定が生きない。

[Hard!] なお、これはreplotに限ったことではないが、コマンドは2行に分けて書かずに、セミコロンで区切って1行に書いてもよい。

gnuplot> set xrange [-30:30]; replot

* おしまい

GNUPLOTを終了させるには、"quit"または"exit"というコマンドを使う。

gnuplot> quit

* もっとGNUPLOTを極めたいなら[Hard!]

* オンラインヘルプを使う

GNUPLOTはオンラインヘルプがあり、いつでも参照できる。GNUPLOTのプロンプトに"help"と打つ。

gnuplot> help

このページではごく簡単な機能しか説明しないが、GNUPLOTは非常に高機能なソフトウェアで、理工系のグラフはたいていGNUPLOTで作成できる。機能の詳細を知りたければ、このオンラインヘルプを参考にしてほしい。ただし説明は簡潔で、そっけない。

* コマンドの短縮・省略[Hard!]

GNUPLOTのコマンドのほとんどは、きちんと入力せずに頭の数文字だけを入力すれば、動作するようになっている。たとえば "help" は "h" だけでいいし、 "quit" なら "q" だけでいい。

* 履歴とコマンドライン編集[Hard!]

GNUPLOTでは履歴機能とコマンドライン編集機能が利用できる。つまり、過去に入力したコマンドをもう一度呼び出したり、それをちょっと変えて再び実行するなどができる。操作は基本的にカーソルキー(矢印キー)で行う。詳細は説明しないが、分かるよね?

(厳密には、この機能は利用できない場合もある。GNUPLOTのインストール時の設定による。まぁたいていは使えると思うが…。)


<- トップページ
工学院大学機械工学科流体研

リンクはご自由に。でもメールをくれると嬉しいな。

金野 祥久  konno@researchers.jp

Last modified: Fri Feb 18 16:16:52 JST 2000