【发布时间】:2012-11-08 04:16:42
【问题描述】:
我有这个 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 提供了第三种方法来绘制基于 3d 表面的连接点的热图,而不是网格单元。也就是说,第 1,2 列的 x,y 坐标用作表面网格的 角 或连接点,每个区域中使用的颜色是 RGB/HSV 值的平均值4 个定义角:
set pm3d map
splot file_name u 1:2:5:xtic(3):ytic(4)
【问题讨论】:
-
只是对您对 pm3d 的讨论的一点补充——您可以通过
set pm3d corners2color ...更改 gnuplot 为特定四边形选择颜色的方式默认情况下,gnuplot 会按照您所说的那样平均 4 个点 (corners2color mean) 但你可以让它选择 4 个角中的任何一个(c1、c2、c3或c4),或者你可以让它做几何平均值geomean,取min或 @ 987654335@等 -
还要注意
pm3d能够处理任意四边形,而image只能处理矩形(或者可能是平行四边形——文档说是平行四边形,但我认为这是错误的)。
标签: gnuplot