【gnuplot】等高線の線種の設定

gnuplot

はじめに

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の等高線の線種の設定方法について紹介しました。

コメント

タイトルとURLをコピーしました