gnuplot-从2d点更改为热图

用户438431

我正在尝试将通常使用点的图转换为热图。数据为x,y,z格式,其中x,y为经度/经度,z为记录的实例数

目前,我们使用以下方式进行绘制:

plot 'data.dat' u 1:2:3 with points pointtype 13 lc palette, \
'boundary.dat' with lines ls 1

我希望能够将热图绘制为3个图:1.值的基本热图2.指向不透明度可能为50%的点以显示基本的地理路径3.表示边界的线。

示例图像:在此处输入图片说明左侧的图像是gnuplot,右侧的图像来自qgis。我们希望gnuplot产生类似于右边的东西。

彼得

克里斯多夫

好问题:)

您将需要一些步骤来获得正确的结果:

为了获得热图,您必须创建一个常规网格并插入数据。可以使用来完成set dgrid3d因为只希望对某些数据进行插值,所以必须将插值写入临时文件:

set dgrid3d 200,200,2
set table 'data-heatmap.dat'
splot '< tr "," " " < data.dat' using 1:2:3
unset table
unset dgrid3d

通常,您可以使用set datafile separator ','逗号作为定界符,但是可以使用临时文件data-heatmap.dat' contains columns separated by spaces, so you must usetr`将空格替换为逗号。

然后,您可以将所有图一起绘制。完整的脚本可能如下所示:

# Diverging color palette from colorbrewer2.org
set palette defined (0 '#006837', 1 '#1a9850', 2 '#66bd63',\
                     3 '#a6d96a', 4 '#d9ef8b', 5 '#ffffbf',\
                     6 '#fee08b', 7 '#fdae61', 8 '#f46d43',\
                     9 '#df3027', 10 '#a50026')
unset key
set dgrid3d 200,200,2
set table 'data-heatmap.dat'
splot '< tr "," " " < data.dat' using 1:2:3
unset table
unset dgrid3d

set autoscale fix
set xtics 0.1
plot 'data-heatmap.dat' u 1:2:3 w image,\
     '< tr "," " " < boundary.dat' w l lc rgb 'black' lw 2,\
     '< tr "," " " < data.dat' w p pt 7 ps 0.2 lc palette

要获得更平滑的插值,请使用set dgrid3d 200,200,1或类似方法。也许您还想使用设置固定的颜色范围set cbrange

4.6.5的结果是:

在此处输入图片说明

生成的网格的尺寸是从散乱数据的边界框得出的。作为一种扩展插值区域的技巧,您可以在创建插值数据时即时添加两个虚拟点:一个在右上角,另一个在左上角。稍后,您可以使用以下方法纠正这些问题set offsets

# Diverging color palette from colorbrewer2.org
set palette defined (0 '#006837', 1 '#1a9850', 2 '#66bd63',\
                     3 '#a6d96a', 4 '#d9ef8b', 5 '#ffffbf',\
                     6 '#fee08b', 7 '#fdae61', 8 '#f46d43',\
                     9 '#df3027', 10 '#a50026')
unset key
set dgrid3d 200,200,2
set table 'data-heatmap.dat'
splot '< echo -e "\n-118.62,34.29,1\n-118.10,34.29,1" | paste -s -d "\n" data.dat - | tr "," " "' using 1:2:3
unset table
unset dgrid3d

set autoscale fix
set offsets -0.02,-0.01,-0.01,0.01
set xtics 0.1
plot 'data-heatmap.dat' u 1:2:3 w image,\
     '< tr "," " " < boundary.dat' w l lc rgb 'black' lw 2,\
     '< tr "," " " < data.dat' w p pt 7 ps 0.2 lc palette

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章