つれづれなる備忘録

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

gnuplotによるグラフ作成3~レンジ、ラベルの設定

 前回はgnuplotの基本的な使い方とプロットの方法について紹介した。今回はグラフの書式のうち表示レンジ、軸ラベル、グラフタイトルを設定する方法について紹介したい。コマンドでの書式設定は慣れてしまえば、Excelのグラフ作成のようにクリックするよりは早く、効率的に書式設定ができるようになる。

atatat.hatenablog.com

1. プロットレンジ

 gnuplotでplotコマンドを使用すると、xのプロット範囲は-10~10となるようにグラフが作成される。レンジを変更する方法としては以下の2通りの方法がある。ここではexp関数をプロットすることを例として取り上げる。

プロット時にレンジを指定

 xのみプロット範囲を指定するには、plot [0:10] exp(x)とするとxが0~10までのグラフが作成される。書式はplot [xmin:xmax] exp(x)でxminにx最小値、xmaxにx最大値を入れる。最小値または最大値のみ設定したい場合は指定する方だけ値を入れる。例えば[1:]とすると最小値1だけ、[:10]とすると最大値10だけ設定される。またx/y両方レンジを設定するにはplot [-1:5] [0:200] exp(x)とするとxは-1~5, yは0~200までのプロット範囲のグラフが作成される。書式はplot [xmin:xmax] [ymin:ymax] exp(x)でxminにx最小値、xmaxにx最大値, yminにy最小値、ymaxにy最大値を入れる。y軸だけ設定したい場合はplot [] [0:200] exp(x)とする。

プロット前にレンジを指定

 プロットコマンドの前にあらかじめレンジを指定する。x軸の範囲を指定するにはset xrange [0:10]としてEnterによりコマンド入力の後にplot exp(x)とするとxが0~10までのグラフが作成される。書式はset xrange [xmin:xmax]でxminにx最小値、xmaxにx最大値を入れる。同様にy軸の範囲を指定するにはset yrange [ymin:ymax]でyminにy最小値、ymaxにy最大値を入れる。一度プロットしてから、そのプロットの描画の状態を見てからぷとプロット範囲を設定したい場合があるが、例えばplot exp(x)としてグラフを確認後、set xrange [-1:5]としてreplotと入れるとわざわざplot exp(x)と入力せずにレンジを設定後のグラフを作成してくれる。なおメニューバーのAxesからX Rangeを選択すると、最小値と最大値をダイアログに入力すればset xrange [xmin:xmax]を生成してくれる。(コマンド覚えていれば、メニューバーの選択は煩わしく思えるかもしれない)

2. プロットレンジの設定例

 まず、Exp関数を単にplot exp(x)とした場合に作成されるグラフを下に示す。

plot exp(x)により生成されるグラフ
plot exp(x)により生成されるグラフ

次にExp関数のプロットについてxを-1~5,yを0~200に設定する場合は、次にようにコマンドを実行する。

set xrange [-1:5]
set yrange [0:200]
plot exp(x)

実行結果を下に示す。確かにxは-1~5,yは0~200の範囲でExp関数をプロットしていることがわかる。

プロット範囲を設定したExp(x)のグラフ
プロット範囲を設定したExp(x)のグラフ

setコマンドでレンジを設定すると、変更されるまで設定は維持される。設定したx/yのレンジがわからない場合は show xrangeあるいはshow yrangeとすると以下のように設定の確認をすることができる。

gnuplot> show xrange
        set xrange [ -1.00000 : 5.00000 ] noreverse writeback

3. 軸のラベル設定

 次に軸ラベルを入れる方法について説明する。x軸にラベルを追加するにはset xlabel "ラベル名"としてプロットすればよい。同様にy軸のラベルはset ylabel "ラベル名"となる。グラフのタイトルを追加するにはset title "タイトル名"とするとプロット枠の直上にタイトル名が挿入される。上のExp関数のプロットにx軸ラベル名:x, y軸ラベル名:y=exp(x)、タイトル名:Basic plot sampleを入れるには以下のコマンドを実行する。

set xlabel "x"
set ylabel "y=exp(x)"
set title "Basic plot sample"
replot

コマンドを実行すると以下のグラフが得られる。

軸ラベルおよびタイトル追加
軸ラベルおよびタイトル追加

なお軸ラベルなどの設定でx2とすると上付きx2と表記され、x_2とすると下付きx2と表記される。 メニューバーからコマンドを挿入するには、軸ラベルはAxesからX LabelまたはY Labelを選択し、タイトルはChartからSet Titleを選択して、表示されるダイアログに従って入力していけばコマンドが生成される。

4. まとめ

 今回は2次元プロットのxy軸のプロットレンジの設定、x軸ラベル、y軸ラベル、グラフタイトル追加するコマンドについて実行例を含めて紹介した。