在Gnuplot中绘制具有不同箱尺寸的热图

时间:2017-10-24 08:38:20

标签: gnuplot

我有一个数据文件,我想将其绘制为热图。共有3列:x,y和点(x,y)处的计数。问题是箱子的y大小不同(而不是x),例如

-0.3    0       0
-0.3    6.7082  0
-0.3    8.66025 0
-0.3    10.247  0
-0.3    11.619  0
-0.3    12.8452 0
...

但是当我使用例如

set view map
set size ratio -1
set key off
splot "histo.txt" u 1:2:3 w image

我得到的图像中y方向的bin大小相同,因此图像失真。 如何在一个方向上绘制具有不同箱尺寸的热图?我也确切知道每个bin应该从哪里开始并以y结尾,数据文件第二列中的值是一个平均值。

谢谢。

1 个答案:

答案 0 :(得分:0)

Gnuplot基本上提供两种适用于热图的绘图样式,pm3dimage,但行为却截然不同:

<强> image

  • 绘制像素图像
  • 无论使用什么x或y值,始终使用常规网格
  • 每个四边形(此处为像素)以一个数据点为中心

<强> pm3d

  • 绘制矢量四边形
  • 可以使用不同间距的不规则网格
  • 绘制每个四边形,四个数据点作为角点。默认情况下,颜色由这四个点的平均值给出,可以使用set pm3d corners2color ...
  • 进行更改
  • 可以插入
  • 更多功能,适用于3D等

因此,总结一下:image可用于热图并具有其优势,但在您的情况下,您需要pm3d,这为您提供了所需的灵活性。