带有2d点的GnuPlot splot函数

带有2d点的GnuPlot splot函数,gnuplot,Gnuplot,我基本上想画二维彩色表面(或等高线图) rosenbrock函数f(x,y)=(a-x)^2+b*(y-x*x)^2 并在此图像上附加一些点(x,y) 带有点的示例文件如下所示: #x #y 15.00000 12.00000 8.00000 9.00000 问题是,两个图形在输出图像上不共享相同的坐标系: gnuplot代码: 将二维图和曲面图与多点图混合通常是一团混乱。我想在这个简单的例子中,你可能不需要multiplot。也许这样就足够了: set size square xr=20

我基本上想画二维彩色表面(或等高线图) rosenbrock函数f(x,y)=(a-x)^2+b*(y-x*x)^2 并在此图像上附加一些点(x,y)

带有点的示例文件如下所示:

#x #y
15.00000 12.00000
8.00000 9.00000
问题是,两个图形在输出图像上不共享相同的坐标系:

gnuplot代码:


将二维图和曲面图与多点图混合通常是一团混乱。我想在这个简单的例子中,你可能不需要multiplot。也许这样就足够了:

set size square
xr=20
yr=20
set xrange [-xr:xr]
set yrange [-yr:yr]
unset key 
unset colorbox 
set surface
set pm3d map
set contour
set cntrparam levels 10# contour tenderness

rosenbrock(x,y,a,b)= (a-x) * (a-x) + b * (y-x*x) * (y-x*x)

splot rosenbrock(x,y,1,1) w pm3d, 'data.dat' u 1:2:0 w p pt 5, 'data.dat' using 1:2:(1):($0+1) with labels offset 1,1 notitle

脚本给出警告:第16行:无法对非网格数据进行等高线。请使用“设置dgrid3d”,即使使用dgrid3d选项,粒子也没有标签。小更新:您的脚本工作正常,但只是不打印标签
set size square
xr=20
yr=20
set xrange [-xr:xr]
set yrange [-yr:yr]
unset key 
unset colorbox 
set surface
set pm3d map
set contour
set cntrparam levels 10# contour tenderness

rosenbrock(x,y,a,b)= (a-x) * (a-x) + b * (y-x*x) * (y-x*x)

splot rosenbrock(x,y,1,1) w pm3d, 'data.dat' u 1:2:0 w p pt 5, 'data.dat' using 1:2:(1):($0+1) with labels offset 1,1 notitle