gnuplot

gnuplot

gnuplot は簡単に 2D、3D のグラフが作成できるツールです。関数の プロットだけでなくデータをファイルから読み込んでプロットしたり、 フィッティングしたりできます。
Ver.3.7.3 を LinuxMLD 7 に収録しています。

(右図をクリックすると大きく表示します。)

作者: Thomas Williams さん、 Colin Kelley さん他
ホームページ: http://www.gnuplot.info/ (Gnuplot Central)
バージョン: 3.7.3 (2002/12/12)
ライセンス: distributable
付属ドキュメント マニュアルを読む (390 KB)

2004年4月にバージョン4.0が正式リリースされています。 以下の説明は古くなってしまいました。

gnuplot は、 AlgaeIPCOctaveRlaBstatistYacas など多くのアプリケーションで グラフ表示のための外部プログラムとして使われています。

MLD5, MLD6 には Ver.3.7.1 が収録されています。以下の説明でバージョン番号の部分を 適宜読み替えてください。

使い方

インストールしたら、まず付属のデモを眺めてみましょう。 デモは /usr/share/doc/gnuplot-3.7.3/demo/ にあります。 どこか適当な場所にディレクトリを作ってそこへコピーします (X Window 上のターミナル・エミュレータから実行してください)。

$ cp -a /usr/share/doc/gnuplot-3.7.3/demo .
$ cd demo
$ gnuplot all.dem

リターンキーを押していくだけで次々にデモを見ることができます。全部終ると 終了しますが、途中で止めるには control-C (Ctrl キーを押しながら C) を押します。

見ているだけではつまらないので、自分でやってみましょう。 対話的に使うには単に

$ gnuplot

です。何行かのメッセージのあと

gnuplot>

とプロンプトが出て来ます。終了は quit あるいは exit と入力します。 簡単な例としてサインカーブを書いてみます。

gnuplot> plot sin(x)

このように、特になにも指定しなければ、x 軸の範囲は -10 から 10 に、 y 軸の範囲は図が収まるように自動決定され、x の範囲を 100 等分して 計算した結果がプロットされます。目盛も適当に付けてくれます。

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

とすれば2つのグラフを同時に書くことができます。
グラフの書き方を指定するには set コマンドを使います。 例えば x の範囲を -5 から 5 にするには

gnuplot> set xrange [-5:5]

何がどう設定されているかを知るには

gnuplot> show all

とするとわかります。全ての設定をデフォルトに戻すには reset を実行します。

gnuplot は詳細なオンラインヘルプを備えています。

gnuplot> help

特定のコマンドについて知りたいときは help のあとにコマンド名を付けます。

gnuplot> help set

ヘルプの出力が1画面に収まらないときは

Press return for more:

と表示され、リターンキーを押すと次が表示されます。ヘルプの表示を途中で 止める方法はないようです。 他に、HTML のドキュメントが /usr/share/doc/gnuplot-3.7.3/gnuplot.html にあります。

全部の機能はとても説明しきれないので gnuplot のデモからいくつか御紹介しましょう。

mgr_demo 実験データをエラーバー付きでプロットし、スプラインで補間した例です。 データファイルは

10.000000 280.000000 16.733201
20.000000 191.000000 13.820275
30.000000 152.000000 12.328828
...

のように3番目のフィールドに誤差が入っています。 Ver.3.6 からは最小自乗法 (Marquardt-Levenberg 法) による fit コマンドも実装されました。

scatter_demo 3 次元のプロットコマンド splot で、等高線 (contour) を一緒に書いた例です。 データファイルは

0.687151 -0.636061 0.351070
0.641845 -0.232436 0.730759
0.273514 -0.848211 0.453572
...

のように x,y,z の組で与えています。

surface2_demo 媒介変数 (parametric) による曲面の表示例です。

様々なファイル形式でファイルに出力することができます。 ファイル形式の指定は set terminal terminal-type です。 出力ファイル名は set output で指定します。 help terminal で設定可能な terminal-type を知ることができます。

    aed512            aed767            aifm              bitgraph
    cgm               corel             dumb              dxf
    eepic             emf               emtex             epslatex
    epson-180dpi      epson-60dpi       epson-lx800       fig
    gpic              hp2623a           hp2648            hp500c
    hpdj              hpgl              hpljii            hppj
    imagen            kc-tek40xx        km-tek40xx        latex
    mf                mif               mp                nec-cp6
    okidata           pbm               pcl5              png
    postscript        pslatex           pstex             pstricks
    qms               regis             selanar           starc
    svg               table             tandy-60dpi       tek40xx
    tek410x           texdraw           tgif              tkcanvas
    tpic              vttek             x11               xlib

例えば set terminal fig としてファイルに出力すれば Xfig で加工することができます。

インストール

gnuplot は LinuxMLD 7 の DVD-ROM に収録されています (MLD 6 では Disc4 に、MLD 5 では Disc3 に gnuplot-3.7.1 が収録されています)。

rpm コマンドでインストールするには、DVD-ROM を マウントして、

# rpm -i /mnt/cdrom/RPMS/gnuplot-3.7.3-2.i386.rpm

とします (MLD 6 では、先に gd-1.8.4 を追加インストールしておくことが必要です)。

その他

MLD 5-7 の RPM には印刷できるマニュアルは含まれていません。必要な方は SRPM から作成して下さい (MLD 6,7 では teTeX をインストールしていることが必要です)。 適当な作業ディレクトリを作ってそこに移動し、 DVD-ROM (MLD 5 では Disc4、MLD 6 では Disc6) をマウントして

$ rpm2cpio /mnt/cdrom/SRPMS/gnuplot-3.7.3-2.src.rpm | cpio -i
$ tar xzf gnuplot-3.7.3.tar.gz
$ cd gnuplot-3.7.3
$ ./configure
$ cd docs
$ make gnuplot.ps

とすると 116 ページの PostScript マニュアル gnuplot.ps ができます。

gnuplot は名前が“gnu”で始まっていますが、FSF の GNU とは関係がありません。

参考

Web 上の参考になるページを御紹介します。

関連ソフトウェア

その他のアプリケーション

測定データやシミュレーション結果を単純にプロットしてみたいようなときは RTP が便利な場合もあります。
その他、数学関数をプロットするアプリケーションは geg のページを参照してください。

[2001/03/05 作成] [2007/01/23 更新]


このページに関する御意見、御要望を science@mlb.co.jp までお寄せ下さい
Copyright © 2001-2007 Media Lab. All Rights Reserved.