gnuplot中缺少pm3d corners2color功能的解决方法

时间:2013-09-03 14:56:30

标签: image gnuplot heatmap

正如manual of Gnuplot at page 136所述,

  

因为pm3d算法不会将彩色表面扩展到外面   输入数据点的范围,'c'着色选项将   导致沿着网格的两个边缘的像素没有贡献   任何四边形的颜色。例如,将pm3d算法应用于   脚本demo / pm3d.dem中的4x4网格数据点(请注明   look)仅产生(4-1)x(4-1)= 9个彩色矩形。

因此,如果我想绘制一个4x4像素大小的图像,我不能这样做而不会错过第4列和行。 (我不想修改文件。)这个问题是否有一个很好的解决方法?

1 个答案:

答案 0 :(得分:4)

要绘制显示数据文件中指定的颜色矩形的4x4图像,splot ... with pm3d不适用。为此,可以使用image绘图样式。必须使用pm3d模式,例如当网格点不等距时,或者用于3D表示。

采用以下文件data.dat

1 6 8 3
2 5 4 4
9 1 1 2
5 4 3 8

或多或少的最小脚本

set autoscale fix
set xtics 1 out
set ytics 1 out
plot 'data.dat' matrix with image t ''

set terminal pngcairo的结果是:

enter image description here

终端必须支持绘制with image,这种情况最多,但不是全部(例如pstricks没有)。在这种情况下,需要使用with image failsafe