我有一个用gnuplot获得的三维图,我也计算了等高线:
在s
设置pm3d设置调色板rgbformulae 33,13,10
设置轮廓
unset clabel
设置cntrparam级别增量1,1,5
sp“dati.dat”u 1:2:3 w l ls 7 notitle
我真的想用三维图中相应级别指定的相同颜色绘制轮廓线。我没有找到任何有用的帖子。这有可能吗?
答案 0 :(得分:4)
您必须在palette
命令中包含sp
命令:
set pm3d at s
set palette rgbformulae 33,13,10
set contour
unset clabel
set cntrparam levels incremental -100,10,100
sp x*y w l ls 7 palette notitle
palette
选项会将您的定义从行2
应用到轮廓线,您将得到此图:
注意:由于缺少合适的输入文件,轮廓级别更改为-100,10,100
以容纳我选择绘制的函数x*y
。
如果你想在表面上保留黑色网格,我建议使用multiplot
并简单地在网格顶部绘制网格。这是更新的代码:
set pm3d at s
set palette rgbformulae 33,13,10
set contour
unset clabel
set cntrparam levels incremental -100,10,100
set multiplot
sp x*y w l ls 7 palette notitle
unset contour
sp x*y w l ls 7 notitle
unset multiplot
unset
两个绘图命令之间的轮廓非常重要。这样,您只需使用第二个sp
命令获取网格(并且没有palette
选项)。
现在,这个例子看起来像这样:
如果您尝试使用multiplot
- 命令手动旋转生成的图形,则会松开轮廓线(因为它们是先绘制的),如this answer中所述。如果默认方向不符合您的需求,请在调用多色时使用set view
。