前回はgnuplotの基本的な使い方とプロットの方法について紹介した。今回はグラフの書式のうち表示レンジ、軸ラベル、グラフタイトルを設定する方法について紹介したい。コマンドでの書式設定は慣れてしまえば、Excelのグラフ作成のようにクリックするよりは早く、効率的に書式設定ができるようになる。
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)
とした場合に作成されるグラフを下に示す。
次に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関数をプロットしていることがわかる。
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軸ラベル、グラフタイトル追加するコマンドについて実行例を含めて紹介した。