つれづれなる備忘録

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

gnuplotによるグラフ作成14~マルチプロット

 以前複数プロットを1つのグラフに描画する方法について紹介していたが、今回は複数のグラフを並列に配置するマルチプロットについて紹介する。

atatat.hatenablog.com

1. マルチプロットの設定

 マルチプロットに設定を行うにはset multiplot layout x,yとする。layout x,yはグラフをx行(縦)y列(横)に並べるということを指定する。例として3行1列にx, x2, √xのグラフを描画する。 コンソール上の表示結果をそのまま示す。

gnuplot> set xrange [-5:5] 
gnuplot> set multiplot layout 3,1
multiplot> plot x
multiplot> plot x**2
multiplot> plot sqrt(x)
multiplot> unset multiplot

まずset multiplot layout 3,1とするとgnuplot>からmultiplot>に変化しmultiplot環境になったことがわかる。次にplot x, plot x**2, plot sqrt(x)と順次プロットしていき、multiplot環境を終了するにはunset multiplotとするとmultiplot>からgnuplot>に戻る。

以下に実行結果を示す。

"3行1列のマルチプロット"
3行1列のマルチプロット

2行2列でグラフを表示するにはlayout 2,2として以下のようにする。

gnuplot> set multiplot layout 2,2
multiplot> plot x
multiplot> plot x**2
multiplot> plot sqrt(x)
multiplot> plot x**3
multiplot> unset multiplot

以下に実行結果を示す。

"2行2列のマルチプロット"
2行2列のマルチプロット

2. マルチプロット中のラベル追加

マルチプロット中にsetコマンドを使ってラベルなどを入れることもできる。plotコマンドの前にsetコマンドでグラフタイトルをつけるには以下に様にする。

gnuplot> set multiplot layout 2,1
multiplot> set title "plot1"
multiplot> plot x
multiplot> set title "plot2"
multiplot> plot x**2
multiplot> unset multiplot

以下に実行結果を示す。

"マルチプロット中にタイトルを設定"
マルチプロット中にタイトルを設定

タイトルの追加を例としたが、今まで紹介したsetコマンドで設定可能なレンジやラベルについても同様の手順でマルチプロットに適用することができる。

3. まとめ

 今回は複数のグラフを並列に配置するマルチプロットの方法とマルチプロット中にラベルなどを追加する方法について紹介した。