#author("2020-05-15T21:47:55+09:00","admin","admin")
#author("2021-05-15T17:23:26+09:00","admin","admin")
#norelated
* gnuplotで複数枚のグラフを描画する方法(multiplot) [#od94425e]
指導書の図5はgnuplotのmultiplot環境で,2枚のグラフを同時に描いている.
これは次の手順に従っている.
これは次の手順に従っている.なお,コマンドはsetもしくはunsetから始まる部分です.gnuplot>やmultiplot>はプロンプトです.
 gnuplot> set multiplot
 multiplot> set size 1,0.5
 multiplot> set origin 0,0.5
 multiplot> set key left
 multiplot> set yrange [-10:10]
 multiplot> set title "Real part of DFT, sin(x), 103158, Hideyuki Nomura"
 multiplot> set xlabel "Sample number"
 multiplot> set ylabel "DFT"
 multiplot> plot "sin_R.dft" with impulses, "sin_R.dft" with points
 multiplot> set size 1,0.5
 multiplot> set origin 0,0
 multiplot> set yrange [-10:10]
 multiplot> set title "Imaginary part of DFT, sin(x), 103158, Hideyuki Nomura"
 multiplot> set xlabel "Sample number"
 multiplot> set ylabel "DFT"
 multiplot> plot "sin_I.dft" with impulses, "sin_I.dft" with points
 multiplot> unset multiplot
最後のunset terminalでmultiplot環境を抜け出します.
%%%使用ファイル名%%%や%%%描画範囲(xrange, yrange)%%%を適切に設定すること.
&br;&br;
なお,これら一連のコマンドをテキストファイルに保存し,gnuplotで読み込めば,その都度,コマンドを入力する手間が省ける.例えば,
+ エディタを用いて,これらコマンドを書き込んだ%%%テキストファイル%%%(ここでプロットファイルと呼ぶ)を作成する.仮にこのファイル名をsin_dft.pltとする.
+ gnuplotを立ち上げ,
 gnuplot> load "sin_dft.plt"
とプロットファイルsin_dft.pltを読み込む.

プロットファイル中の読み込みデータファイルの部分を修正するだけで,同じようなグラフを容易に作成できる.

* multiplot環境でのグラフの保存 [#r1ade395]
multiplot環境で図の表示が確認されたら,画像として保存します.
ただし,multiplot環境の場合,出力端末(terminal)を途中で変更することはできない.&br;
そこで%%%上の操作の前に次の2行%%%
 gnuplot> set terminal pngcairo
 gnuplot> set output "sample.png"
を追加し,%%%上の操作の最後のコマンド(unset multiplot)の前%%%に次の1行
 multiplot> unset terminal
を追加する.
すなわち
 gnuplot> set terminal pngcairo
 gnuplot> set output "sample.png"
 gnuplot> set multiplot
 multiplot> set size 1,0.5
 multiplot> set origin 0,0.5
 multiplot> set key left
 multiplot> set yrange [-10:10]
 multiplot> set title "Real part of DFT, sin(x), 103158, Hideyuki Nomura"
 multiplot> set xlabel "Sample number"
 multiplot> set ylabel "DFT"
 multiplot> plot "sin_R.dft" with impulses, "sin_R.dft" with points
 multiplot> set size 1,0.5
 multiplot> set origin 0,0
 multiplot> set yrange [-10:10]
 multiplot> set title "Imaginary part of DFT, sin(x), 103158, Hideyuki Nomura"
 multiplot> set xlabel "Sample number"
 multiplot> set ylabel "DFT"
 multiplot> plot "sin_I.dft" with impulses, "sin_I.dft" with points
 multiplot> unset terminal
 multiplot> unset multiplot
とする.
%%%使用ファイル名%%%を適切に設定すること.

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS