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

Sjo*_*888 3 gnuplot

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

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

要想象我想要实现的目标,请使用以下示例with image:

强度图

而对于这一点,我想获得的轮廓像显示在这里.

数据采用以下格式:

0 0 36
0 1 36
0 2 36
0 3 36
0 4 36
Run Code Online (Sandbox Code Playgroud)

每行包含:XCoord YCoord IntensityLevel

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

Mig*_*uel 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
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

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