【gnuplot】コンター図に任意の曲線を重ね書きする方法

gnuplot

はじめに

この記事を読むと、gnuplotでsplotでコンター図を描いたときに、さらに別の曲線を重ねて描画する方法がわかります。パワポで直線は追加できるけど、曲線は…、と思ってる方などにおすすめです。簡単できるので、最大値を示す曲線などを追加して、わかりやすい図に仕上げましょう!

コンター図に任意の曲線を重ね書きするコード例

例として、\(f(x,y)=\cos(2\pi\sqrt{x^2+y^2})\)のコンター図上に、\(y=x^2\)の点線を重ねてプロットします。

曲線の重ね書きのコードの例は以下のとおりです。

splot "data.txt" using 1:2:3, "data.txt" using ($1):($1*$1):($3) w l lc "white" dt(1,5) lw 2.0

data.txtは、プロットするデータが格納されたファイルで、1列目が\(x\)、2列目が\(y\)、3列目が\(f(x,y)\)です。
1つ目のカンマまでが\(f(x,y)\)のコンター図の描画で、それ以降が、\(y=x^2\)の曲線の描画に関する記述です。
重ね書きする曲線は、splotで、\(x\)軸にdata.txtの1列目、\(y\)軸にdata.txtの1列目の2乗を指定し、3列目にdata.txtの3列目を指定すると、重ね書きできます。
線種は、折れ線グラフと同じように設定できるので、見やすいように好みに合わせて変更してください。


曲線はいくつも重ね書きすることができます。
カンマの後に続けて曲線の記述を追加するだけです。

splot file using 1:2:3,\
file using ($1):($1*$1):($3) w l lc "light-goldenrod" dt(1,5) lw 1.5,\ 
file using ($1):(-$1*$1):($3) w l lc "light-goldenrod" dt(10,5) lw 1.5,\
file using ($2*$2):($2):($3) w l lc "light-goldenrod" dt(10,5,3,5) lw 1.5,\
file using (-$2*$2):($2):($3) w l lc "light-goldenrod" dt(10,5,3,5,3,5) lw 1.5 

まとめ

いかがでしたでしょうか。やり方さえわかってしまえば、簡単にコンター図に曲線を重ね書きできることがわかったと思います。ぜひご自身のグラフに取り入れてみてください。

コメント

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