データのグラフ化 (gnuplotによる)

数値データを数字として見ていても情報をつかみにくいことが多い。 パタン認識は、今でも計算機より人間が得意とするところである。 計算機にデータを加工させて、人間が目でみるという機械と人間の分担を することにより、計算や実験・観測などの結果の解釈を効率よく進めよう。

この授業では、フリーソフトウェアの gnuplot (注1) を紹介する。 これは、テキストファイル(人が読める文字で構成されたファイル)の 形で数値データを与えて、ワークステーションの画面にグラフをかく ことができる。

gnuplot の 簡単な使い方

たとえば、次のようなファイルを作ってみたとする。

-----------  ファイル a.txt の内容
0    1000
1     500
2       0
3     500
4    1000
-----------
% gnuplot

gnuplot>plot "a.txt"
(2)      (3)  (4)

gnuplot>quit
         (5)

なお、gnuplot では、 入力ファイルの「#」 (この字は人によってナンバー、シャープまたは井げたなどと読む) で始まる行は無視するので、人間(自分)に対する覚え書きを書いておくことが できる。

----------  ファイル a.txt の内容 改訂版
# test data for gnuplot (1994-04-18)
0    1000
1     500
2       0
3     500
4    1000
----------

gnuplotで複数のデータを1つのグラフに表示するには、

gnuplot>plot "a.txt","b.txt","c.txt"
のように、ファイル名をコンマで区切って列挙すればよい。

gnuplot の ヘルプ

gnuplotは実行中に

gnuplot> help
で、詳しい情報を得ることができる。

日本語ヘルプ文書も作られている。 [以下2005-10-05追記] バージョン3.7や4.0の日本語ヘルプ文書は、 竹野 茂治さんとそのグループによるものが、 http://takeno.iee.niit.ac.jp/~foo/gp-jman/gp-jman.html から公開されている。 このうち.gih形式のものを適当な場所におき (慶応SFC CNSでは、2005年の授業用に /pub/sfc/earthobs/prog/gnuplot/ja/gp400-20050620-all.gih として置いた)、 環境変数GNUHELPでそのパス・ファイル名を指定すれば、 gnuplotの中のhelpの表示が日本語になる。

gnuplotの結果を紙に出す

PostScriptというページ記述言語がある。gnuplotは図を画面に表示する代わりに PostScript形式でファイルに書き出すことができる。 プリンタがPostScriptを解釈できるもの(PostScriptプリンタ)であれば、 この形式のファイルをプリンタに送ればよい。 また、Linuxなどでは、 ソフトウェア(ふつうはghostscript)によってPostScriptをプリンタへの指令に 変換して、ユーザーから見るとプリンタがPostScript対応であると思ってよい 設定になっていることが多い。 (ただし、PostScriptを解釈しないプリンタにPostScriptデータを送ったり、 その逆をすると、 多数の紙に無意味な内容をプリントしてしまったり、 プリンタを故障させたりすることがあるので、要注意。)

gnuplotの中で、一度画面に plot したあとで

gnuplot>set terminal postscript landscape
                                --------- 横長の場合。縦長はportrait
gnuplot>set output "gnuplot.ps"
                    ---------- 適当なファイル名 (*.psの形を勧める)
gnuplot>replot
ここで quit せずにまた画面に表示したい場合は
gnuplot>set terminal x11
gnuplotを抜けてから、
% lpr -Pgslips gnuplot.ps
        ------             プリンタ名(ローカルに定義されている)を指定する
               ----------  今作ったファイル名を指定する
% rm gnuplot.ps
(画面に plot せずに、上の例で replot をしたところで最初のplotをしてもよい。 Unix上のgnuplotをX Window機能のない端末で使う場合はその手順にする必要がある。)

参考書

gnuplotの使い方について詳しく書いた本として次のものがある。


1996-04-12, 2000-08-24, 2001-12-13, 2005-10-05, 2005-10-13
増田 耕一 (MASUDA Kooiti)
[gnuplotの部分の目次へ] [コンピュータ利用に関する教材ページの目次へ]