在Gnuplot中将一个图形的轮廓绘制到另一个图形中

在Gnuplot中将一个图形的轮廓绘制到另一个图形中,gnuplot,contour,Gnuplot,Contour,我有一个包含四列X Y Z1 Z2的数据文件,我想为每个Z创建一个单独的彩色绘图,但也要将第一列的等高线绘制到第二列 首先,我为Z1创建一个绘图,并使用 set terminal "pdfcairo" enhanced dashed size 5,5 set output "Output1.pdf" set pm3d unset surface set view map set contour set cntrparam levels discrete 1.45,1.50 set tabl

我有一个包含四列X Y Z1 Z2的数据文件,我想为每个Z创建一个单独的彩色绘图,但也要将第一列的等高线绘制到第二列

首先,我为Z1创建一个绘图,并使用

set terminal "pdfcairo" enhanced dashed size 5,5
set output "Output1.pdf"

set pm3d 
unset surface
set view map
set contour
set cntrparam levels discrete 1.45,1.50

set table 'DATAFILE.contourZ1'
splot 'DATAFILE' using 1:2:3 notitle with lines
unset table

splot 'DATAFILE' using 1:2:3 notitle with lines

unset output
这给了我沿Z1=1.45和1.50的两条等高线的彩色图。到现在为止,一直都还不错。我试着将等高线加载到第二个图中

splot 'DATAFILE' using 1:2:4 notitle with lines,\
    'DATAFILE.contourZ1' using 1:2:3 notitle with lines
但这只给了我Z2的颜色图,没有任何轮廓线

有谁知道,我怎样才能做到这一点?如果不能像我尝试过的那样以一种简单的方式实现,我也愿意采用其他方式:)


多谢各位

在保存表格文件之前,必须
取消设置pm3d
,以便获得仅包含等高线点的文件


然后,如果您想绘制pm3d线条,您可能需要使用
设置pm3d显式
和带有线条的
splot“contour.txt”,以及带有pm3d的“data”谢谢您的回答。不幸的是,它不起作用。我收到了一条信息
警告:不能将pm3d用于2d绘图
,结果绘图仅显示等高线。效果非常好!非常感谢你。对于任何想尝试此方法的人,我建议切换“contour.txt”和“data”的顺序,以确保轮廓位于彩色绘图之前。