gnuplotによるグラフ作成


◆ まず、自分のホームページ用のディレクトリに移動しておく
% cd public_html

コマンドの後の ”スペース” を忘れずに!

◆ サンプルデータを入手
% cp /lesson/amano/exp/data1 .

% cp /lesson/amano/exp/data2 .

最後の . の前の ”スペース” を忘れずに!

◆ サンプルデータの中身を確かめる
% cat data1
% cat data2

◆ gnuplotを起動する。
% gnuplot

◆ gnuplotは、2次元および3次元のグラフを描くフリーウェア。gnuplotを起動すると、プロンプトが % から gnuplot> に変わる。help で、説明が見られる。ただし英語。

コマンドやファイル名の前後 ”スペース” を忘れずに!

◆ 関数のグラフを描いてみる。

gnuplot> plot x**2
 → y=x2 (xの2乗)のグラフ

◆ データファイルのグラフを描いてみる。

gnuplot> plot 'data1'

◆ ファイルの名前は'または"で囲む。ファイルの各行がxとyの値のペアに相当する。xとyの間は1個以上の空白で区切られていればよい。関数のグラフと違って、何も指定しなければ点点のグラフになる。

◆ 点と点との間を線で結ぶときは、

gnuplot> plot 'data1' with line

◆ 2種類のデータを同じグラフ上に描いて、2本の線で比較するときは、

gnuplot> plot 'data1' with line , 'data2' with line

◆ 2本目の曲線の色を変えたいときは、最後をline 3としてみる。色は番号で指定し、8色まで使える。

gnuplot> plot 'data1' with line , 'data2' with line 3

◆ 曲線に名前をつけるときは、最後にtitleとかいて、

gnuplot> plot 'data1' title 'No.1' with line , 'data2' title 'No.2' with line

◆ このように、計算結果をグラフにして可視化することができる。

◆ X軸やY軸の範囲を変えたいときは、plotコマンドの前に以下のようなsetコマンドを使うと座標軸範囲の自動設定が解除されて [ ] の中で指定した範囲のデータのみプロットされる。

gnuplot> set xrange [1985:1990]
gnuplot> set yrange [2:4]

gnuplotで描いたグラフの大きさを、マウスを使って葉書の半分ぐらいに縮小し、画面の端に寄せて他のウィンドウと重ならないようにしておくこと!

◆ gnuplotでグラフを描き、上記のようにグラフの大きさや位置を整えたたあとで、別の「端末エミュレータ」ウィンドウから以下の操作を行う。

いまgnuplotを操作している「端末エミュレータ」ウィンドウの左上端の「ウィンドウ」メニューの「新規作成」を選ぶと、もうひとつ新しい「端末エミュレータ」ウィンドウが出てくる。この新しい「端末エミュレータ」の中で、まず、自分のホームページ用のディレクトリに移動しておく

% cd public_html

それから、次のコマンドでgnuplotで描いたグラフを「撮影」する。

% xwd > gfile

とすると、カーソルが十字になる。このカーソルを gnuplot で描いたグラフの上に持っていって左ボタンを押すと

gfile という名前のビットマップファイルができる。このままではホームページ上でみえないので、

% xwdtopnm gfile | ppmtogif > gfile.gif

とすると

xwdtopnm: writing PPM file
ppmtogif: computing colormap...
ppmtogif: 4 colors found

というメッセージが出て、グラフの絵が gfile.gif という名前で gif 形式に変換される。これを html ファイルの中で指定すれば gnuplot で描いたグラフが表示される。 うまくいかないときは、自分のホームディレクトリでファイル制限容量をオーバーしている可能性が高い。不要なファイルを削除して、自分のホームディレクトリを整理しておくこと。特に、”core”という名前のファイルがあるときは直ちに削除しておく。

gfile.gif という名前を html ファイルの中で指定するために、muleもしくはテキストエディタを用いて自分の「index-j.html」を編集する。

◆ gnuplotを終了するには、gnuplotを操作している「端末エミュレータ」ウィンドウの中で

gnuplot> exit


データ処理演習のホームへ