GNUPLOTのメモページ
gnuplotスクリプト
gnuplotのtipsが書かれている。特に、スクリプト関連では勉強になる方法がいくつか載っている。少しマニアックな使い方も載っている。
インストール
homebrew, macport, finkなどを使う
ソースインストール。詳しくは
を参照にすること。
設定ファイル
自分のホームに
.gnuplot
というのをつくって、
set terminal x11
とか書いちゃえば良い。
矢印について
詳細は
ここや
ここなど。矢印の細かい指定の仕方が載っている。
矢印なしの線分を書きたい
set arrow nohead from X1, Y1 to X2, Y2
と書けば良い。
値にエラーバーをつける
各点にエラーバーをつけるには、まずデータ列を並べる。
例えば、上のような行列をつくり、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でプロットする
labelにギリシャ文字を入れたい。
エラーバーの端っこに出ている線を消したい
これは、最初に
set bar 0
と宣言しておけばよい。
軸のメモリを、指数表示(指数を上付きで表示)にしたい
そのときは、
set format x "10^{%L}"
などとすればよい。
keynote風のグラフをつくりたい
見栄えのよいグラフをgnuplotで描きたいときには、下のページが参考になる。
ヒストグラム等で、グラフを透過したい
epsファイルでは透過できないので、svgファイルにする必要あり。svgファイルをpsファイルに変更するには、
ここを利用すれば良い。
タイトルを付けたい
se title "Ark 000" offset -13.3,-2.6
se title font "Helvatica, 30"
とすれば、左上などに天体名を入れることができる。やっていることは、タイトルを移動して図の中に入れている だけ。
矢印などを入れる
読み込みデータの書式を指定する
データファイルが空白区切りだったりタブ区切りだったりするときはきにしなくていいが、カンマ区切りだったりバー(|)区切りだったりするときは、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に数が入っている、
といったテーブルを用意する必要がある。
が、実はgnuplotでも簡単にヒストグラムをプロットする方法がここに乗っていた。
filter(x,y)=int(x/y)*y
plot "hoge.dat" u (filter($1,0.001)):(1) smooth frequency with boxes
これで、filterの第二変数を変えれば、ビン幅が変わる。
ギリシャ文字を使いたい。
最近までコレを知らなかったので、これからの図にはこれを使用したい。
図のプロットの値の範囲をリセットしたい
たとえば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