首页 > 解决方案 > 如何解决热图中的 gnuplot 工件

问题描述

我正在尝试从数据(https://pastebin.com/AgivvGgX)生成热图。数据不是“矩阵”形式。

我尝试使用pm3d map并获得以下图: 在此处输入图像描述

我也尝试使用dgrid3dand view map

set view map
set pal def
set dgrid3d 40,40,3
splot "plot.dat" using 1:2:3 u pm3d

我得到了以下结果: 在此处输入图像描述

两个图都不正确。dgird3d关键字创建没有数据点的工件。

我使用代码获得了一个不错的情节:

set view map
set pal def
splot "plot.dat" using 1:2:3 with points pointtype 5 pointsize 1 palette   linewidth 8

这里的结果 在此处输入图像描述

我想获得与后者类似的地图,但不是带有离散点或正方形,而是作为连续热图,并且具有不存在数据的白色背景。可能吗?

标签: gnuplotheatmap

解决方案


由于您的数据不规则,您应该使用dgrid3d. 它有各种选项(请参阅 参考资料help dgrid3d),这是我在尝试不同的内核和选项时得到的图片:

set view map
set palette defined (0 'white', 1 'blue', 2 'green', 3 'yellow', 4 'red')
set dgrid3d 100,100 exp kdensity 10,10
splot 'plot.dat' w pm3d palette

在此处输入图像描述

set dgrid3d 100,100 gauss kdensity 30,30
replot

在此处输入图像描述


推荐阅读