このドキュメントの文責は高橋にあります.
このドキュメントは,グラフ描画ソフトGNUPLOTの使い方を説明したものです. 初歩的なこと書いてありませんので,より詳しいことが知りたくなったらリンクをたどってみて下さい.
下記のドキュメントでは,龍谷大学瀬田学舎の計算機実習室のTurboLinuxで動く version 3.7 や,高橋の手元のFreeBSDで動く version 4.0 を対象に想定しています. でも,これらのバージョン固有の機能は使ってませんので,以下の内容はあちこちに転がってる大抵のバージョンのGNUPLOTで通用すると思います.
端末上で
% gnuplot
と入力するとGNUPLOTが起動します.
Version 3.7 patchlevel 3
last modified Thu Dec 12 13:00:00 GMT 2002
System: Linux 2.6.0-13
Copyright(C) 1986 - 1993, 1998 - 2002
Thomas Williams, Colin Kelley and many others
Type `help` to access the on-line reference manual
The gnuplot FAQ is available from
http://www.gnuplot.info/gnuplot-faq.html
Send comments and requests for help to
デフォルトでは出力端末がXになっているので,グラフはすべてXを使用して別のウインドウに出て来ます.postscript形式やTGIFのobj形式など,様々なタイプの出力端末を選んでそちらに出力することも可能です.
終了するときは,
gnuplot> quit
と入力します.
gnuplot> plot sin(x)このように入力すると,下のようなグラフが得られます.
gnuplot> plot (x+1)*x*(x-1)等と入力します.このようにすると,グラフが書き換えられます.複数のグラフを重ねて描きたければ,
gnuplot> plot sin(x) gnuplot> replot (x+1)*x*(x-1)または
gnuplot> plot sin(x), (x+1)*x*(x-1)というように入力します.
gnuplot> plot [-3:3][-2:2] sin(x), (x+1)*x*(x-1)
gnuplot> set xrange [-3:3] gnuplot> set yrange [-2:2] gnuplot> plot sin(x), (x+1)*x*(x-1)
gnuplot> plot sin(x), (x+1)*x*(x-1)等とやったあとは,
gnuplot> replotで同じグラフを描き直してくれます.範囲をいろいろ変えながらプロットしてみたい時には便利でしょう.
% cat data # This is a comment. # x y1 y2 0.000000 -0.403263 0.202985 0.200000 -0.517929 0.562537 : 29.800000 2.698706 4.412752 30.000000 1.598323 1.853904このようなファイルが存在する場合,
gnuplot> plot "data"と入力すると,ファイル``data''の1列目をX軸,2列目をY軸としたグラフが得られます.ファイル中で描画に使う列を指定するには,次の例のように入力します.
gnuplot> plot "data", "data" using 1:3こうすると,二つ目の曲線(緑色)は1列目をX軸,3列目をY軸のデータとみなして描かれます(以下の例は折れ線+点で描かれてますが,デフォルトでは点のみで描かれるはずです).
gnuplot> plot "data" with lines, "data" using 1:3 with pointsのように入力します.すると,下図のような出力が得られます.ところで,GNUPLOTのコマンドは,区別がつく限り後ろの文字を省略してもかまわないので,上記は
gnuplot> p "data" w l, "data" u 1:3 w pとしてもかまいません.
gnuplot> set data style linesと入力すると,以降スタイル指定なしのグラフは ``with lines'' で描かれます.どんなスタイルが使えるかは,
gnuplot> help styleまたは
gnuplot> help set styleとして調べて見て下さい(ヘルプの使い方も参照のこと).
3次元のグラフを描くには,``splot''を使います.
3次元のグラフの場合,見やすくするために視点を変えて描画させる必要もでてくるでしょう.視点を変える方法については,``view''コマンドのヘルプを参照して下さい. ちなみに,最近のバージョン(version 4.0とか)では,三次元グラフをマウスでぐりぐり回せたりします.
GNUPLOTでは,Xを使って画面にグラフを描画する以外に,様々な形式の出力端末を選択してファイルとして出力させることも可能です.出力端末を変更するには,``set terminal''コマンドを使います.
gnuplot> set terminal
このように入力すると,使える出力端末の一覧が表示されます.画面に表示されているグラフをpostscript形式でファイル``out.ps''に出力させる場合には,次のようにします.
gnuplot> set terminal postscript
Terminal type set to 'postscript'
Options are 'landscape noenhanced monochrome dashed defaultplex "Helvetica" 14'
gnuplot> set output "out.ps"
gnuplot> replot
こうすると,カレントディレクトリに``out.ps''が作られます.postscriptのファイルですから,ghostview等のビューアで確認したり,postscriptプリンタで印刷することができます.
出力端末をXに戻すには,次のように入力します.
gnuplot> set output
gnuplot> set terminal x11
これで,以降のグラフは再び画面に描画されるようになります.
GNUPLOTにはここで説明した以外にも様々なコマンドが備わっています.「??っていうコマンドの使い方がわからへん」,あるいは「こんなグラフが描きたいねん」というときは,ヘルプを調べてみると良いでしょう.
例えば``plot''の使い方を知りたい時は,
gnuplot> help plot
と入力すると,ヘルプが画面にあらわれます.ヘルプの画面は,less等のページャと同様の操作でスクロールさせることができます(注).参照したヘルプにサブトピックがある場合,ヘルプの最後にその一覧が出て来ます.例えば上の例では,最後までスクロールすると下のようになります.
Subtopics available for plot:
acsplines bezier binary csplines
: : : :
using with
(END)
ここで `q'を押すと,最後の行が
Subtopic of plot:
と変わります.上の選択肢から選んで入力すればそのヘルプへ移り,何も入力せずにリターンを押すとヘルプを終了して元の画面に戻ります.
(注) ってゆ〜か〜(^^;,GNUPLOTがlessを呼んでいるようです.` / 'を使って文字を検索することもできました.また,環境変数 PAGER が設定されていれば,それに従うようです.