数値データを数字として見ていても情報をつかみにくいことが多い。 パタン認識は、今でも計算機より人間が得意とするところである。 計算機にデータを加工させて、人間が目でみるという機械と人間の分担を することにより、計算や実験・観測などの結果の解釈を効率よく進めよう。
この授業では、フリーソフトウェアの gnuplot (注1) を紹介する。 これは、テキストファイル(人が読める文字で構成されたファイル)の 形で数値データを与えて、ワークステーションの画面にグラフをかく ことができる。
注たとえば、次のようなファイルを作ってみたとする。
----------- ファイル 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> 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
の表示が日本語になる。
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 x11gnuplotを抜けてから、
% lpr -Pgslips gnuplot.ps ------ プリンタ名(ローカルに定義されている)を指定する ---------- 今作ったファイル名を指定する % rm gnuplot.ps(画面に plot せずに、上の例で replot をしたところで最初のplotをしてもよい。 Unix上のgnuplotをX Window機能のない端末で使う場合はその手順にする必要がある。)
gnuplotの使い方について詳しく書いた本として次のものがある。