GNUPLOTのメモページ


gnuplotスクリプト
gnuplotのtipsが書かれている。特に、スクリプト関連では勉強になる方法がいくつか載っている。少しマニアックな使い方も載っている。

インストール

  • 方法その1
homebrew, macport, finkなどを使う

  • 方法その2
ソースインストール。詳しくは
を参照にすること。

設定ファイル

自分のホームに
.gnuplot

というのをつくって、
set terminal x11

とか書いちゃえば良い。

矢印について

詳細はここここなど。矢印の細かい指定の仕方が載っている。

矢印なしの線分を書きたい


set arrow nohead from X1, Y1 to X2, Y2
と書けば良い。

値にエラーバーをつける

各点にエラーバーをつけるには、まずデータ列を並べる。

x_1  \quad y_1  \quad     \delta x_1  \quad     \delta y_1
x_2 \quad y_2 \quad  \delta x_2 \quad  \delta y_2
x_3 \quad y_3  \quad \delta x_3 \quad \delta y_3
x_4 \quad y_4  \quad \delta x_4 \quad \delta y_4
x_5 \quad y_5  \quad \delta x_5 \quad \delta y_5
x_6 \quad y_6  \quad \delta x_6 \quad \delta y_6

例えば、上のような行列をつくり、hoge1.txtと名付ける。左から順に、xの値、yの値、xの誤差、yの誤差を表す。このように並べておくと、

plot "hoge1.txt" u 1:2:3:4 w xyerrorbars

とすれば、見事にx,y方向にエラーバー付きの点がプロットされる。

軸を反転させる

軸を反転させるには、

set yrange [] reverse

などとすれば、y軸が反転する。

線の太さをかえる

線の太さを変えるには、オプションとして、
lw n
とすればよい。ここでnは自然数。nが大きくなるほど、線は太くなっていく。例としては、
plot exp(-x*x) lw 3
などとする。

gnuplotで色を変えたいなど


Gnuplotでfitting


日付のデータをgnuplotでプロットする

gnuplotでの日付の設定など
を参照すべし。

labelにギリシャ文字を入れたい。

対応表はここ

エラーバーの端っこに出ている線を消したい

これは、最初に

set bar 0

と宣言しておけばよい。

軸のメモリを、指数表示(指数を上付きで表示)にしたい

そのときは、

set format x "10^{%L}"

などとすればよい。

keynote風のグラフをつくりたい

見栄えのよいグラフをgnuplotで描きたいときには、下のページが参考になる。

ヒストグラム等で、グラフを透過したい

epsファイルでは透過できないので、svgファイルにする必要あり。svgファイルをpsファイルに変更するには、ここを利用すれば良い。

タイトルを付けたい

gnuplotコマンド集
を参考にするとよいが、

se title "Ark 000" offset -13.3,-2.6
se title font "Helvatica, 30"

とすれば、左上などに天体名を入れることができる。やっていることは、タイトルを移動して図の中に入れている だけ。

矢印などを入れる

http://t16web.lanl.gov/Kawano/gnuplot/label2.htmlなどを参考にすればよい。

読み込みデータの書式を指定する

データファイルが空白区切りだったりタブ区切りだったりするときはきにしなくていいが、カンマ区切りだったりバー(|)区切りだったりするときは、gnuplotはデフォルトでは読んでくれない。そういう場合は、
set datafile separator ","

というのを打てば良い。

凡例の位置を変えたい

凡例の場所は、デフォルトでは右上になっている。この場所を他のところ、例えば右下にしたければ、

set key right bottom

を最初につければよい。他の場所に移したい場合も、上のコマンドからだいたい予想がつくだろう。

凡例を枠で囲む

凡例を枠で囲む場合は、

set key box lt -1 lw 2 lc rgb "dark-blue"

などのように、"set key box"というものを最初に設定すればよい。lt以降は、枠の種類、太さ、色の設定である。

ヒストグラムを作成する

gnuplotでヒストグラムを作成する場合、まずは、x_iに値、y_iに数が入っている、
x_1  \quad y_1
x_2  \quad y_2
x_3  \quad y_3
...
といったテーブルを用意する必要がある。

が、実はgnuplotでも簡単にヒストグラムをプロットする方法がここに乗っていた。

filter(x,y)=int(x/y)*y
plot "hoge.dat" u (filter($1,0.001)):(1) smooth frequency with boxes

これで、filterの第二変数を変えれば、ビン幅が変わる。

ギリシャ文字を使いたい。

ギリシャ文字は、{/Symbol m}mなどとすれば表示ができるが、もっとよい方法が以下に載っている。
グラフに μ を書くときに {/Symbol m} よりは {\265} を使いたい

最近までコレを知らなかったので、これからの図にはこれを使用したい。

図のプロットの値の範囲をリセットしたい

たとえばgnuplotのplotterファイルを作成して、複数個の図をプロットしたい時があり、プロットしたいxの範囲やyの範囲が図ごとに異なるばあいは、基本的にはgnuplotはそのときどきできちんと自動的に修正してくれる。ただし、logscaleやlinear scaleなどが混ざると、必ずしもそうとは限らない。そういう場合は、xやyの設定を一度すべてキャンセルする必要がある。
そのときは、

set autoscale x

などと打つとよい。そうすると、このコマンド以降は今までsetされたxの設定はデフォルトに戻る。そこで、再度設定を書き込んでいけば良い。

gnuplotでプロットしたものの数値をasciiで書き出したい

gnuplotで書いた関数だったり、あるいは適当にプロットしたものをasciiデータにして書き出したいときがあるときは、set tableというものをつかえばよい。具体的には
set table "hoge.tbl"
plot cos(x)
unset table
とすると、カレントディレクトリに"hoge.tbl"が出来上がっている。
最終更新:2014年07月15日 14:45