4

我有一个用 gnuplot 获得的 3 维图,我还将等高线计算为:

将 pm3d 设置为 s

设置调色板 rgbformulae 33,13,10

设置轮廓

未设置标签

设置 cntrparam 级别增量 1,1,5

sp "dati.dat" u 1:2:3 wl ls 7 无标题

我真的很想用 3d 图中相应级别中指定的相同颜色绘制等高线。我没有找到任何有用的帖子。这在某种程度上可能吗?

4

1 回答 1

5

您必须在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,您将松开等高线(因为它们是首先绘制的),如本答案中所述。如果默认方向不适合您的需要,请set view在调用 multiplot 之前使用。

于 2013-07-17T13:32:27.067 回答