GNUPLOT

- not so Frequently Asked Questions -

update 2004/9/5

ラベルあれこれ (その1)

1 | 2 | 3

ラベルに上付き・下付き添字を使いたい.

enhanced postscriptのterminalを使うと,軸の名前や図中のラベルの 文字列に添字を使うことができます.このterminalに設定するには,

gnuplot> set terminal postscript enhanced

の様に,enhaned のオプションが必要です.TeXの添字の書き方のように,X^2 とすると2が上付き添字になり,Y_3 とすると3が下付き添字になります.幾つ かの文字をまとめて添字にするには,Z_{64}の様に { } で括ります.上下の添字 を同時に付けたい時は,Z@^2_{64} の様に@記号を使います.

例として,y=sin**2(x),y=sin**3(x),y=sqrt(sin(x)) の3つを描いて,その 凡例に添字を使ってみます.

gnuplot> set terminal postscript eps enhanced
gnuplot> set key spacing 1.3
gnuplot> set xrange [ 0 : pi ]
gnuplot> set yrange [ 0 : 1.5 ]
gnuplot> plot sin(x)**2 ti "sin^2(x)", \
sin(x)**3      ti "sin^3(x)",\
sqrt(sin(x))   ti "sin^{1/2}(x)"
fig/sample4.1

凡例の文字列に添字が付いていると,そのままでは凡例同士がくっつき 過ぎてしまうようです.上の例では,set key spacing 1.3 を使って,改行量を3割ほど増やしました.

up

ラベルにα,βの様なギリシャ文字を使いたい.

文字列の中にギリシャ文字を使う場合も,添字の 例と同じく,enhanced postscriptのterminalを使います. terminalの設定には,

gnuplot> set terminal postscript enhanced

の様に,enhanced のオプションを付けます.

ギリシャ文字は {/Symbol a} の様に記述します.この場合は小文字の"a"に 対応するαが表示されます.Symbolとアルファベットの対応は,次のように なっています.

ALPHABET SYMBOL ALPHABET SYMBOL alphabet symbol alphabet symbol
A Α N Ν a α n ν
B Β O Ο b β o ο
C Χ P Π c χ p π
D Δ Q Θ d δ q θ
E Ε R Ρ e ε r ρ
F Φ S Σ f φ s σ
G Γ T Τ g γ t τ
H Η U Υ h η u υ
I Ι W Ω i ι w ω
K Κ X Ξ k κ x ξ
L Λ Y Ψ l λ y ψ
M Μ Z Ζ m μ z ζ

その他,直接8進数のキャラクタコードを指定することで,{/243}なら£, {/247}なら§といった様々なポストスクリプトのコードを表示することができ ます.詳しくは,gnuplotに付属の ps_guide.ps を参照してください.

例として,y=αx+γ という直線をプロットし,図中にα,γの値を ラベルで記入してみましょう.

gnuplot> set terminal postscript eps enhanced
gnuplot> set xrange [ 0 : 5 ]
gnuplot> set label "{/Symbol a}=0.5, {/Symbol g}=0.2" at 2,0
gnuplot> plot 0.5*x-0.2 ti "y={/Symbol a}x-{/Symbol g}"
fig/sample4.2
up

X,Y軸のラベルとグラフの間隔を調整したい.

set {x|y}label のオプションに あるオフセットで設定します.

gnuplot> set xlabel "x" 0.0,1.0

とすると,x軸の名前が1文字分だけ上に上がり,グラフに近付きます.yのオ フセットをさらに大きくすると,軸名がグラフの中に入ってしまいます.逆に yのオフセットを負の値にすると,軸名はグラフから離れていき,軸名とグラ フの間に空間ができます.gnuplotは描画領域を目一杯使ってグラフを描こう とするので,x軸名が上に上がると,その分だけグラフの高さが大きくなり, 軸名を下げるとグラフは小さくなります.

fig/sample4.3 Y offset = 0
fig/sample4.3c Y offset = +5
fig/sample4.3d Y offset = -5

同様に set ylabel "Y-AXIS" +n,+m の 様にy軸のオフセットを設定すれば,y軸の位置を変えられます.次の例はxの オフセットを+5と-5にした場合で,これらを変えるとグラフの幅が変化します.

fig/sample4.3 X offset = 0
fig/sample4.3c X offset = +5
fig/sample4.3d X offset = -5
up