gnuplotでカラーマップの上に2次元で書かれたグラフを書きたいとします。
この場合は
set pm3d map
splot "fort.11" u 1:2:3 with pm3d, "fort.10" u 1:2:($2-$2) with point
splot "fort.11" u 1:2:3 with pm3d, "fort.10" u 1:2:($2-$2) with point
とすればokです。
カラーマップの情報はfort.10, 書きたい線のデータはfort.11に書かれているとします。
考えは、2次元のデータをあたかも3次元のデータとして扱うことで解決します。
上のデータを得るためのfortranコードはこんな感じです。
program main
implicit none
double precision::x,y,h
h=5.d-2
y=-3.d0
do while(y.le.3.d0)
x=-3.d0
do while(x.le.3.d0)
write(11,*)x,y,x+y
x=x+h
enddo
write(11,*)
write(10,*)y,sin(y)
y=y+h
enddo
return
end program main
implicit none
double precision::x,y,h
h=5.d-2
y=-3.d0
do while(y.le.3.d0)
x=-3.d0
do while(x.le.3.d0)
write(11,*)x,y,x+y
x=x+h
enddo
write(11,*)
write(10,*)y,sin(y)
y=y+h
enddo
return
end program main
818 re(1):pm3dによる等高線図(カラーマップ)に2次元グラフを重ねる方法