gnuplot - 如何获得具有3d图的相同级别颜色的轮廓线

时间:2013-07-17 12:51:07

标签: colors plot gnuplot contour

我有一个用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

我真的想用三维图中相应级别指定的相同颜色绘制轮廓线。我没有找到任何有用的帖子。这有可能吗?

1 个答案:

答案 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应用到轮廓线,您将得到此图:

surface and contour lines

注意:由于缺少合适的输入文件,轮廓级别更改为-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选项)。

现在,这个例子看起来像这样:

surface, contour lines and black grid


如果您尝试使用multiplot - 命令手动旋转生成的图形,则会松开轮廓线(因为它们是先绘制的),如this answer中所述。如果默认方向不符合您的需求,请在调用多色时使用set view