gnuplot:用图像绘图,如何添加轮廓

时间:2015-03-14 14:38:11

标签: gnuplot

我有以下情况:我使用with image绘制数据以绘制强度级别的地图。它们已被装箱。现在我正在寻找一种绘制相同数据的方法,这样我就可以获得等高线图。我想要这样,这样我就可以将这个图用作另一个图的覆盖图,以便人们看到那里的强度等级。

我知道使用线条是可能的,但是我必须首先从数据创建线条,同时识别每个强度级别的边界。我希望有一个更直接的方法来实现这一点与gnuplot。

使用with image

来想象我想要实现的目标

intensity plot

为此,我希望得到如here所示的轮廓。

数据采用以下格式:

0 0 36
0 1 36
0 2 36
0 3 36
0 4 36

每行包含:XCoord YCoord IntensityLevel

我想要实现的是从相同的数据中获得一个图,它给出了强度等级的轮廓线(这样我也可以决定使两个或更多强度等级的轮廓延伸)。有没有办法在不生成新数据的情况下实现这一目标?

1 个答案:

答案 0 :(得分:7)

您可以使用表格生成splot的轮廓。这些方面的东西:

set contour
unset surface
set cntrparam levels auto 20 # Modify this to your liking
# I'm not sure this is actually needed
set view map
unset clabel
#
set table "contours.dat"
splot "data.dat" u 1:2:3 not
unset table
unset contour

plot "data.dat" u 1:2:3 w image not, "contours.dat" u 1:2 lc 0 w l not

我放了很多轮廓(20),所以你可以看到效果。对于轮廓选项,请尝试help set cntrparam

enter image description here

另一种可能性是直接使用splot ... with pm3d而不是plot ... with image,但如果您因文件大小而使用基于矢量的终端,则可能不合适。