我有以下情况:我使用with image
绘制数据以绘制强度级别的地图。它们已被装箱。现在我正在寻找一种绘制相同数据的方法,这样我就可以获得等高线图。我想要这样,这样我就可以将这个图用作另一个图的覆盖图,以便人们看到那里的强度等级。
我知道使用线条是可能的,但是我必须首先从数据创建线条,同时识别每个强度级别的边界。我希望有一个更直接的方法来实现这一点与gnuplot。
使用with image
:
为此,我希望得到如here所示的轮廓。
数据采用以下格式:
0 0 36
0 1 36
0 2 36
0 3 36
0 4 36
每行包含:XCoord YCoord IntensityLevel
我想要实现的是从相同的数据中获得一个图,它给出了强度等级的轮廓线(这样我也可以决定使两个或更多强度等级的轮廓延伸)。有没有办法在不生成新数据的情况下实现这一目标?
答案 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
。
另一种可能性是直接使用splot ... with pm3d
而不是plot ... with image
,但如果您因文件大小而使用基于矢量的终端,则可能不合适。