绘制多个热图 gnuplot

Plotting multiple heat maps gnuplot

我一直在尝试使用 gnuplot 使用来自两个数据文件的数据绘制两个热图。我以前使用 gnuplot 绘制过热图,但从未尝试过 "overlay them".

我的尝试如下:

    set terminal pngcairo
    set xrange[-2:2]
    set yrange[-2:2]
    unset surface
    set view map
    set pm3d       
    set size square
    set key outside
    set pm3d depthorder 
    splot "file_1" u 1:2:3 w pm3d notitle, \
    "file_2" u 1:2:3 w pm3d notitle   

这会产生以下输出:

有一个微弱的环对应于其中一个数据文件,但这不是我们想要的。通过删除地图,您可以看到数据的样子:

所以第一个图已经绘制了外环、下环,但似乎没有绘制内环,尽管它已经记录了它的比例。我正在寻找的是从上方看第二个情节的视图。

通过操纵这个 3-D 图的视图,我可以这样做:

但是有没有一种方法可以在无需设置视图的情况下,仅使用视图地图和 splot 命令来获得该图的俯视图?视图方法看起来不太好,我想知道为什么它没有按预期运行。

提前致谢

在修复该错误的同时,您可以使用以下解决方法:

max(a,b)=(a>b)?a:b
splot "<paste file_1 file_2" u 1:2:(max(,)) w pm3d notitle

因为在这种情况下,深度排序等同于对 z 值进行排序。