我有几天来自八个不同非等距深度的温度数据,我想将其绘制为热图。据我所知,我有两种选择。我可以使用" with image"但是假定等距点使得只有8像素的薄带或者我可以使用需要适当网格的pm3d(我不确定什么是正确的网格)。我发现dgrid3d可以为我制作网格,但由于某种原因,它会消除对深度的任何依赖。有人可以向我解释一下这种行为吗? 这是我使用的代码和数据。 https://docs.google.com/file/d/0B2TfUgjtGRVReV9ocFVvM1BKd2M
set timefmt "%Y-%m-%d %H:%M:%S"
set xdata time
set view map
set dgrid3d
splot './Data/MO-03t_.txt' every ::2 u 1:3:4 with pm3d
答案 0 :(得分:1)
dgrid3d
未绘制您的数据。相反,根据您的数据计算二维样条曲线。然后,gnuplot创建一个(默认情况下)10x10矩阵,并使用从样条插值插值的值填充它。然后绘制该矩阵。
但我还有其他解决方案:
set timefmt "%Y-%m-%d %H:%M:%S"
set xdata time
# for the nice colors
set pm3d
# For debugging: place ticmarks only vor values with data
set ytics (0.02, 0.04, 0.06, 0.11, 0.31, 0.41, 0.61, 0.91)
plot './Data/MO-03t_.txt' every ::2 u 1:3:(1800):($3<0.2?.005:0.05):4 w boxxyerrorbars fs solid lc palette
boxxerrorbars ... lc palette
需要using <x>:<y>:<deltaX><deltaX>:<z>
delta值是盒子宽度的一半,即它表示从x-deltaX绘制一个框; y-deltaY到x + deltaX; y + deltaY用于每个数据点。
此处,方框的宽度为3600秒,高度为0.1或0.01,具体取决于y值。
结果如下:
但是,你仍然可以提高盒子的高度。
而不是4 + 1列,您还可以使用
传递6 + 1列 using <x>:<y>:<xlow>:<ylow>:<xhigh>:<yhigh>:<z>
这里,框的边框是绝对值,而不是与x-y值的距离。