我有这个gnuplot脚本
reset
set palette model RGB defined (0 "gray", 0.1 "white", 0.33 "yellow", 0.66 "orange", 1 "red")
set xlabel "x"
set ylabel "y"
set view map
set border 0
unset xtics
unset ytics
splot file_name u 1:2:5:xtic(3):ytic(4) w points ps 5 pt 5 palette
这就是结果:
如何删除点之间的距离,以便最终得到一组相邻的正方形?我想为网格文件中的每个点绘制一个带正方形的热图。
修改
根据@andyras答案绘制“网格”热图的正确方法是:
set pm3d map
plot file_name u 1:2:5:xtic(3):ytic(4) with image
给出了这张图片:
gnuplot提供了第三种方法,可以根据三维表面的连接点而不是网格单元来绘制热图。也就是说,第1,2列的x,y坐标用作表面网格的角或连接点,每个区域中使用的颜色是RGB / HSV值的平均值。 4个定义的角落:
set pm3d map
splot file_name u 1:2:5:xtic(3):ytic(4)
答案 0 :(得分:1)
我通常选择
set pm3d map
plot file_name u 1:2:5:xtic(3):ytic(4) with image
用于网格化数据(如果使用矢量格式,则会生成较小的文件)。我怀疑你的问题可能与你为你的splot指定一个点样式和大小的事实有关。因此,您可以尝试设置pm3d map
选项并使用splot
而不使用点规范,或plot ... with image
。