我正在尝试使用以下代码为Himmelblau 的函数绘制一个简单的等高线图(在 gnuplot 中):
f(x,y)=(((x**2)+(y)-11)**2)+(((x)+(y**2)-7)**2)
set xrange [-5:5]
set yrange [-5:5]
set contour base
set cntrparam level discrete 13.59085,25,50,100,150,300,500,1000
set table 'cont.dat'
splot f(x,y)
unset table
reset
set xrange [-5:5]
set yrange [-5:5]
unset key
p './cont.dat' w l lt -1
我得到以下绘图结果:
我希望消除的情节有一些问题:
- 它在图中显示了一些水平线,我不知道为什么。如何删除水平线?
- 轮廓线不太平滑。我怎样才能提高那里的平滑度?
我觉得上述两个问题都有联系,但无法弄清楚如何。您能帮我理解并希望消除这些问题吗?
编辑 1:我找到了问题 2 的答案,即提高平滑度。我可以通过增加isosample
. 但是我仍然得到很多水平线,如下图所示。
但是如何去除这些水平线呢?我只想要指定级别的等高线。