我想使用 gnuplot 绘制热图。
我的数据是(file.txt):
5 0 0.0531072048
5 5 0.3476492247
5 10 0.322184913
5 20 0.2824368116
5 50 0.2919607884
10 0 0.0472727812
10 5 0.3578374264
10 10 0.3483726737
10 20 0.3212322874
10 50 0.3017652051
20 0 0.0536101408
20 5 0.3460970331
20 10 0.3589370763
20 20 0.412912733
20 50 0.3907459465
50 0 0.0497156879
50 5 0.3611165857
50 10 0.4046003446
50 20 0.4620183753
50 50 0.4156261444
100 0 0.0483082089
100 5 0.3815755779
100 10 0.4031628253
100 20 0.4537462156
100 50 0.4231632329
当我输入以下命令时
plot "file.txt" using 1:2:3 w image
它生成一个热图。但是,网格与数据并不完全对应。有一个 5×5 网格,但网格单元的轴标签与文件前两列中的值不对应。此外,所有网格单元都具有相同的大小。但是,它们的大小应该不同。
让我试着解释一下我期望拥有的东西。下面的图是使用以下命令生成的:
set xrange [-10:110]
set yrange [-10:60]
plot "file.txt"
此图中的每个“+”对应于文件前两列(x 和 y)中的一行。对于每个“+”,在第三列中有一个值 (z)。此 z 值是参数值 x 和 y 的实验结果。我希望将 z 值视为“+”符号周围的彩色网格单元。也就是说,网格单元的中心应该是这些“+”号。自然,网格单元将是不同大小的矩形。我希望我说得更清楚一点。
任何帮助将不胜感激。艾哈迈德