Полагаю, проблема здесь в том, что splot
с контуром и plot
с кружками нельзя использовать вместе. Одним из решений было бы построить данные контура в таблице, а затем построить их вместе с помощью одной команды plot
. Я немного перестроил или переписал ваш код. Я думаю, это должно приблизиться к тому, чего вы хотите достичь, и может быть улучшено в дальнейшем. Вывод ниже создан с помощью gnuplot 5.2.6 и терминала wxt.
Код:
### plot contour data together with something else
reset session
unset key
set view map
set samples 80, 80
set isosamples 80, 80
set xr [x=-4:4]
set yr [y=-11:2]
potential(x,y) = 5*(x**2+y**2+8*x+6*y)**2+5*(x**2+y**2-6*x+8*y)**2+1000*y
set contour base
set cntrparam bspline
set cntrparam levels discrete 20000,10000,2500,0,-2500,-5000, -6000,-7000
unset surface
# write contour data to table
set table $Potential
splot potential(x,y)
unset table
set xlabel "X"
set ylabel "Y"
set zlabel '{/Symbol P}' enhanced
set zlabel offset character 7, 9, 0
set style textbox opaque margins 0.5, 0.5 fc bgnd noborder linewidth 1.0
plot $Potential u 1:2 w l lc rgb "#888888",\
'' every 100 w labels boxed font ",6" notitle, \
'MyData.dat' u 1:2:3 w circles lc rgb "#90EE90",\
'' u 1:2:3 w lp lw 2 lc rgb "#000000"
### end of code
MyData.dat
0.00000000e+000 0.00000000e+000 1.0000000
0.00000000e+000 -1.00000000e+000 2.0000000
-7.21690590e-002 -2.37121212e+000 4.0000000
Результат: