gunuplot memo

gnuplot のお世話になり初めて2004年春現在で5年目。それなのにいつまでたってもウェブで調べたりしないと分からないことが多くてうんざりしています。。そこで自分が良く使う事でかつよく忘れて調べなおす事を中心にまとめていく事にしました。

ind , usi , ti , \

データファイルがブロックに分けられていると、ブロックごとのデータをプロット出来る。

> pl 'data.dat' ind 0:2 usi 1:4 \
> ti  'data-A'

ind (=index2,i) でプロットするデータのブロックを指定。最初のブロックから順に0,1,2,。0:2 だとブロック0 からブロック2(下の例だと Data 1 から Data 3をプロットする。ti(=title?)で凡例(データの表題)。長くなるときは \ で次の行に続けて書ける。

> pl 'data.dat' ind 0:1 usi 1:4 , 'data.dat' ind 2:2 usi 1:4 

とすれば、ブロック 0-1 とブロック 2 を別々の色で重ねてプロット。 usi(=using,u)でプロットするデータの列を指定。usi 1:4 だったら x座標に1列目、y座標に4列目をプロット。

データのブロックは「2行の空白行」で分けられていないといけない (他のなんかは2行だとエラーになって1行じゃないと行けないってのがあった)。

 # Data 1
  -0.5210E+00   0.3023E+00   0.2000E+00   0.1336E+02   0.4353E+02
  -0.1044E+01   0.7096E-01   0.2000E+00   0.2187E+02  -0.2765E+02
  -0.7209E+00   0.4000E+00   0.2000E+00   0.5919E+01  -0.7357E+02
[        <= 空白行っていうこと  
[
 # Data 2
   0.6765E+00   0.1751E+01   0.2000E+00   0.9960E+01   0.62276E+02
   0.6268E+00   0.1657E+01   0.2000E+00   0.4173E+02   0.92049E+02
   0.9369E+00   0.1779E+01   0.2000E+00  -0.5198E+01   0.43054E+02
[
[
 # Data 3
  -0.5610E+00   0.3063E+00   0.6000E+00   0.1336E+06   0.4353E+06
  -0.1044E+01   0.1096E-01   0.6000E+00   0.6121E+06  -0.6165E+06
  -0.1609E+00   0.4000E+00   0.6000E+00   0.5919E+01  -0.1351E+06
[  
[
 # Data 4
   0.6165E+00   0.1151E+01   0.6000E+00   0.9960E+01   0.66616E+06
   0.6662E+00   0.1651E+01   0.6000E+00   0.4113E+06   0.96049E+06
   0.9369E+00   0.1119E+01   0.6000E+00  -0.5192E+01   0.43054E+06

postscript

> set term postscript "Times-Bold" 30
> set out "Ps.ps"

30は文字の太さか大きさか?

グラフを正方形に

> set size square

一気に作業

以下のようなgnuplot.pltとかいう名前のファイルを作って、

> gnuplot gnuplot.plt

とやるとファイルに書かれた作業を一気にやってくれる。

等高線

log

> set logscale y

未整理

set term x11
set term postscrip
set term postscript eps "Times-Bold" 30
set term postscript "Times-Bold" 30
set term postscript enhanced color "Times-Bold" 30

set size 0.721,1.0
set size square

set xrange [0.0:1.0]
set yrange [-1.0:1.0]

set nokey

set xzeroaxis
set yzeroaxis

set xlabel "{X-axis}"
set ylabel "{Y-axis}"

set title "TITLE"

戻る