Gnuplot †Gnuplotとはグラフをつくるアプリケーションです。
理系の業界でよく使われてます。 もくじ †参考 †
基本 †起動と終了 †基本的に他のアプリケーションと同じです。 まずgnuplotがインストールされたフォルダ(通常は「gnuplot」と言うフォルダ)。 その中の「bin」と言うフォルダの「wgnuplot.exe」と言うファイルががあるはずです。 これをダブルクリックすれば起動します。 すると何やらズラズラと文字が出てきて最後に gnuplot> とか表示されれば起動成功です。 (初めて起動するとき文字が小さいことがあります。 そのときは右クリックして「Choose Font」で文字やフォントの種類を変えれます。 ただこの設定はgnuplot終了時には消えてしまうので、文字やフォントを変えた後、「Update wgnuplot.ini」を選んで設定を残して下さい。) 終了するときは gnuplot> quit と打ってEnterキーを打てば終了です。ウィンドウズの閉じるボタンでももちろん終了できます。 基本的な使い方 †例えばy=sin(x)のグラフを書きたい時は、 plot sin(x) と打ちこんでEnterキーを打てばグラフが描けます。つまり、 plot <xの関数> でグラフを書きます。四則演算(+-*/)やカッコ()、基本的な関数(下記参照)などが使えます。ただし乗数、例えばxの2乗だったら、 plot x**2 とかします。2つの関数を同時に描きたかったら、コンマで区切って、 plot <xの関数>,<xの関数> 3つ以上でも同様にコンマで区切って続けます。 3次元グラフが描きないなら、 splot <xとyの関数> とかします。ひとつ前に描いたグラフをもう一度描きたい時は、 replot このようにgnuplotでは基本的にキーボードをつかって命令(コマンド)を打って作業します。なお一度打ったコマンドは↑↓キーで呼び出せます。gnuplotの終了時までこの履歴は記録してくれてます。 面倒なので、これからは主に y=x のグラフで話を進めます。通常はxの所を描きたい関数に置き換えてください。
スクリプトファイル †gnuplotも音楽や画像ファイルみたいに拡張子の関連付けで簡単に起動できます。 まず、gnuplotで打ち込むコマンドをテキストファイルに書き込みます。 例えばy=xのグラフを描きたかったら、 plot x pause -1 というテキストファイルをメモ帳などで作ります(最後の一文はおまじない)。 次に作ったファイルを右クリックして プロパティ→ファイルの種類→変更→参照 でgnuplotのインストールしたフォルダの \bin\wgnuplot.exe を選択して関連付けます。 一度関連付けをしてしまえば描きたいグラフのテキストファイルを作って先ほど決めた拡張子で保存し、マウスでダブルクリックしただけでグラフが描けます。修正するときなどはメモ帳などから開いてください。 また複数のコマンドを使う時は順に書いていきます。 テキストファイルは上から順に実行されていきます。 また#を入れるとその文はコメントアウトされます。 コマンド コマンド # コメント ... pause -1 ちなみにこのようにコンパイルしなくても実行できるテキストファイルは「スクリプトファイル」と呼ばれています。 gnuplotが起動中なら、wgnuolot.exeと同じフォルダにスクリプトファイルをおいて、 gnuplot> load "data.plt" としても実行できます。 なお、これからの説明は 「pause -1」を省いて基本的にコマンドだけで説明しますが、このおまじないを忘れないで下さい。(忘れると一瞬でグラフが消えてしまします。) 設定 †マーク †マークの種類 †点でマークしたい時は plot x w p とw p を変えたい関数の後ろに入れます。w p を wiht point としてもいいです。 p(point)以外にもマークの種類は
などがあります。 マークの大きさ †線の幅を変えたいなら plot x lw 5 とします。lw の後ろの数字は幅の大きさを示してます。 plot x w p ps 5
マークのタイプ †線の色を変えたい時は plot x lt 3 「lt (linetype) + 番号」で変えれます。 点の形を変えたいなら、 plot x w p pt 4 とかで変えられます。
その他の形と番号の対応表はこちら →
マークのタイトル †通常右上にマークのタイトルが付きますが、例えばこれを「xxxx」に変えたかったら、 plot x ti "xxxx" つまり「ti (title) + "タイトル名"」
で変えれます。ただし通常、日本語は使えません。 全般的な設定 †全般的な設定をする時は set <設定の内容> とsetで設定するのが基本です。 この設定はplotの前に設定しておきます。 軸 †範囲 †例えばx軸の範囲をしたいなら set xrange [1:1.5] とかplotの前に設定しておきます。[最小値:最大値]で指定。 set yrange [1:1.5] このようにsetのコマンドは基本的にコマンドのxをyに変えるとy軸の指定になるものが多いです。 刻幅 †set xtics 0.2 set ytics 0.3 「xtics+数値」みたいに指定。細か過ぎるとえらいことになるので注意。 ラベル †軸にラベルを付けたいなら set xlabel "x-label" set ylabel "y-label" つけたいラベル名を"で括って指定します。 軸線 †x軸線とかを引きたい set xzeroaxis lt -1 set yzeroaxis lt -1 ltなどで線のタイプを指定(省略可)。 グリッド †グリッドを引きたい時は、 set grid lt -1 ltなどで線のタイプを指定(省略可)。 タイトル †グラフのタイトル †
マークのタイトル †
コメント †set label "comment" at first 0.1, first 0.1 firstの後の数字はそれぞれx座標y座標。 データファイル †gnuplotの得意技の一つに数値のデータファイルをグラフにすることがあります。 データファイルの形式 †gnuplotが読み込めるデータファイルは形式が決まっています。
下のような形式の数値データのテキストファイルを用意して下さい(面倒な人は→ #x y x1 y1 x2 y2 x3 y3 x4 y4 … … 上のデータファイルの場合、一列目が x (横軸) 、二列目が y (縦軸)のデータとなります。つまり、(x1,y1), (x2,y2), …のグラフができます。列の間は空白かタブを入れてください。 set datafile separator "," と設定しておきます。 このデータファイルに適当な名前を付けて(ここではdata.txtとします)保存して、スクリプトファイルと同じフォルダの場所(wgnuplot.exeを起動してやる時はこの実行ファイルと同じ場所)に置いてください。 データファイルのデータの列は何列あってもかまいません。ただし、やはり列と列の間は空白かタブを入れてください。同様の手順で3列のデータファイルを作って同じ場所に保存しておいてください(面倒な人は→ 以下、2列のデータファイルをdata.txt、3列のデータファイルをdata2.txtとして話を進めます。 データファイルの描き方 †データファイルをグラフにする時は plot "<データファイル名>" でグラフが描けます。ファイル名がdata.txtなら、 plot "data.txt" となります。 線で描きたい †点をやめて線で描きたい時は plot "data.txt" w l x軸とy軸に使うデータを指定したい †plot "<データファイル名>" usi <xの列の番数>:<yの列の番数> でプロットしたいデータを指定。usiをusingとしてもOK。例えば2列目に x、1列目に y のデータを指定したいときは plot "data.txt" usi 2:1 複数列あるデータファイルは指定しなければusi 1:2 と解釈されます。 複数のデータファイルを同時に描きたい †2つの同時に描く時は、関数と書く時と同じように、コンマで区切って、 plot "data.txt","data2.txt" 3つ以上でも同様にコンマで区切って続けます。 3次元のグラフ †これも普通の関数を描く時と同じです。 splot "data2.txt" フィッティング †フィッティング(fitting)とは、数値データがある関数形、例えば2次関数の形をしていた時、 f(x)=a*x*x+b*x+c a,b,cの値を最小二乗法などで具体的に求めて、数値データを関数にfit(合わせる)させて関数を求めることです。 定数と関数の定義 †フィッティングの方法を説明する前に、定数と関数の定義について説明します。 a=2 plot a*x (x)を付ければ関数になります f(x)=x*x+1 plot f(x) 定数を組み合わせても関数は定義できます f(x)=a*x*x+b*x+c a=1 b=1 c=1 plot f(x) フィッティングの方法 †最初にフィッティングをするデータファイルをスクリプトファイルと同じ場所においておきます(gnuplotを起動させて使う人はwgnuplot.exeと同じ場所)。 f(x)=a*x*x+b*x+c a=1 b=1 c=1 a,b,c には適当な初期値を与えています。 fit f(x) "data2.txt" usi 1:2 via a,b,c とすると、a,b,cの値が求まります。 plot f(x), "data2.txt" usi 1:2 とします。これ以外の詳細は、 以下のようにしてヘルプを参照してください。 help fit ファイルに保存 †描いたグラフを画像ファイル等に保存する方法を紹介します。 psファイルで保存 †例えばxxx.psで保存したい時は、まずグラフを描いた後で set terminal postscript enhanced set output "xxx.ps" replot としてください。こうすると、xxxx.pngと言うファイルが今いるフォルダに保存されてます。 色つきのpsファイルにしたい時は、上の最初の行を set terminal postscript enhanced color とかに変えればOK。
epsファイルで保存 †epsファイルで保存したい時は set terminal postscript eps enhanced set output "xxx.eps" replot pngファイルで保存 †pngファイルで保存したい時は set term png set output "xxx.png" replot ギリシア文字と記号 †psファイルに保存するときはタイトルなどでギリシャ文字や数学の記号などが使えます。 {/Symbol a} また無限大∞は {/Symbol \245}
2008-11-11 富田洋
|