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

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

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

要想象我想要实现的目标,请使用带有图像的示例图:

为此,我想获得如here所示的轮廓.

数据采用以下格式:

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

每行包含:XCoord YCoord IntensityLevel

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

最佳答案
您可以使用表格来生成带有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),你可以看到效果.对于轮廓选项,请尝试帮助设置cntrparam.

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

转载注明原文:gnuplot:用图像绘图,如何添加轮廓 - 代码日志