はじめに
gnuplotで、等高線の線種を自由に設定する方法を紹介します。
デフォルトの設定は、見た目が悪いので、事実上使えません。
コンター図は、カラー表示だと見た目もきれいでインパクトがありますが、論文誌に投稿するときは、白黒で印刷で判別できることが求めれられるので、等高線が自在に書くことは意外と重要なスキルだったりします。この記事を読めば、今後等高線の描画で苦労することはなくなると思います。
等高線を描画するコードの例(テンプレ)
等高線を描画するコードの例は以下の通りです。
###----- 等高線の設定 -----###
#--- 等高線を書く ---#
set contour
#--- 線種を定義する ---#
set linetype 101 lw 1.2 lc "black" #実線
set linetype 102 lw 1.2 lc "black" dt(1,5) #点線
set linetype 103 lw 1.2 lc "black" dt(10,5) #破線
set linetype 104 lw 1.2 lc "black" dt(10,5,3,5) #1点鎖線
set linetype 105 lw 1.2 lc "black" dt(10,5,3,5,3,5) #2点鎖線
#--- 定義した線種を使う ---#
set style increment user
#--- 最初に描画する線種(linetype)を指定 ---#
set cntrparam firstlinetype 101
#--- 等高線の高さの指定 ---#
set cntrparam levels incremental 0.0,0.2,1.0 #一定間隔でプロット(開始,間隔,終了)
set linetype index・・・で描画したい等高線の線種を設定します。
線の太さや色の設定は、折れ線グラフの設定と同じです。
上のコードでは、5本の線種を設定をしています。
さらに線種を増やしたいときは、set linetype 106 ・・・とindexの数を増やして、新たに線種を追加します。
描画する等高線の値の指定方法は、次の2つです。
#--- 等高線の高さの指定 ---#
set cntrparam levels incremental 0.0,0.2,1.0 #一定間隔でプロット(開始,間隔,終了)
set cntrparam levels discrete 0.0,0.2,0.4,0.6,0.8,1.0 #値を指定してプロット
プロットの例
\(f(x,y)=x^2+y^2\)のプロット例です。
背景のカラーは、set no surfaceを追記することで消すことができます。
等高線の値は、凡例で表示すると見にくいので、線上や等高線のすぐそばに表示すると、読み手に優しくなります。(上のプロットは凡例で表示してますが。。)
まとめ
gnuplotの等高線の線種の設定方法について紹介しました。
コメント