つれづれなる備忘録

日々の発見をあるがままに綴る

gnuplotによるグラフ作成34~グラフ中に注釈

 今回はgnuplotを用いてグラフ中にテキストなどの注釈を挿入する方法について紹介する

1. テキスト注釈の挿入

 グラフ中にテキストの注釈を挿入するにはlabelを設定する。labelを設定するコマンドはset label 番号 at graph 座標 "テキスト"という書式で設定する。 例えば

set xrange[0:20]
set label 1 at graph 0.5,0.5 "1st peak"
plot besj0(x)

中央に"1st peak"というテキストがグラフ上に表示される。graphは左下を(0,0)、右上(1,1)とする座標系を使用している。

"ラベルの表示"
ラベルの表示

他にscreenは左上を(0,0)、右下(1,1)とする座標、firstはプロットしているx/y座標の第一軸の座標、secondは第二軸の座標である。 プロットが描画されている状態では、x/y座標を使用するとプロットとの位置関係が把握しやすい。例えば以下のようにfirstを用いてx/y座標を用いてlabelの位置を指定する。

set label 1 at first 1.5,0.9 "1st peak"
replot

"ラベルのX/Y座標指定"
ラベルのX/Y座標指定

ラベルを複数挿入するにはラベルの番号を2,3,4…と増やせばよい。

set label 2 at first 8,0.4 "2nd peak"
set label 3 at first 14,0.4 "3rd peak" 
replot

"複数ラベルの表示"
複数ラベルの表示

2. 矢印の挿入

 labelと同じ要領で矢印を挿入することができる。矢印はset arrow 番号 from first 始点座標 to 終点座標というコマンドで設定する。上記プロットのラベルに矢印を追加するには以下のようにする。

set arrow 1 from first 2,0.95 to 0.5,0.95
set arrow 2 from first 7,0.5 to 7,0.3
set arrow 3 from first 13.3,0.45 to 13.3,0.22 
replot

ラベル近傍にピーク位置を示す矢印を追加することができた。

"矢印の表示"
矢印の表示

さらに矢印のスタイルを変更するにはset style arrowを用いる。style 2と3の色を以下のように変更し、変更したスタイル番号をset arrow ・・・ arrowstyle 番号とすることでグラフ中に挿入する矢印の色を変更できる。

set style arrow 2 filled linecolor rgb "blue"
set style arrow 3 filled linecolor rgb "red"
set arrow 2 from first 7,0.5 to 7,0.3 arrowstyle 2
set arrow 3 from first 13.3,0.45 to 13.3,0.22 arrowstyle 3
replot

"矢印の変更"
矢印の変更

3. まとめ

 今回はグラフ中にテキスト注釈および矢印を挿入する方法について紹介した。