You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否用Gnuplot绘制带x、y坐标点的区域密度热力图?

当然可以!Gnuplot完全能实现你要的特定区域点密度热力图效果,我来给你拆解几种实用的方法,附带可直接运行的示例代码。

方法一:使用pm3d结合核密度估计(KDE)

这是最常用的方式,通过核密度估计自动计算点的分布密度,生成平滑的热力图效果,适合展示连续的密度变化。

假设你的坐标数据存在points.dat文件中(每行是一个点的x、y值),可以用这段代码:

# 设置输出终端和文件
set terminal pngcairo enhanced font 'Arial,10' size 800,600
set output 'density_heatmap.png'

# 图表基础设置
set title 'Point Density Heatmap (KDE)'
set xlabel 'X Coordinate'
set ylabel 'Y Coordinate'

# 开启pm3d伪彩色映射,启用插值让画面更平滑
set pm3d map interpolate 2,2
set palette defined (0 "dark-blue", 1 "blue", 2 "cyan", 3 "green", 4 "yellow", 5 "orange", 6 "red")

# 限定你需要的特定区域(替换成你的x、y范围)
set xrange [0:10]
set yrange [0:10]

# 用smooth kdensity计算密度,bandwidth控制平滑程度(值越小越精细)
plot 'points.dat' using 1:2:(1) smooth kdensity bandwidth 0.4 with pm3d title 'Density'
  • bandwidth:控制密度估计的平滑度,数值越小,热力图越能体现局部密集点;数值越大,整体趋势越明显。
  • interpolate 2,2:对生成的密度网格进行插值,让热力图的颜色过渡更自然。
方法二:手动分箱统计密度

如果需要更精确的“格子计数”效果(比如统计每个小方格内的点数量),可以用分箱的方式手动计算密度:

set terminal pngcairo enhanced font 'Arial,10' size 800,600
set output 'binned_density.png'

set title 'Binned Point Density Heatmap'
set xlabel 'X Coordinate'
set ylabel 'Y Coordinate'
set pm3d map
set palette rgbformulae 33,13,10 # 用内置的蓝-红配色

# 设置分箱的大小(根据你的数据尺度调整)
bin_width_x = 0.5
bin_width_y = 0.5

# 限定目标区域
set xrange [0:10]
set yrange [0:10]

# 分箱统计每个格子的点数,smooth frequency自动累加计数
plot 'points.dat' using \
  (bin_width_x * floor($1/bin_width_x) + bin_width_x/2): \
  (bin_width_y * floor($2/bin_width_y) + bin_width_y/2): \
  (1) smooth frequency with pm3d title 'Points per Bin'

这个方法会把你指定的区域分成一个个小方格,每个方格的颜色深度对应其中的点数量,适合需要量化统计的场景。

额外实用技巧
  • 添加颜色刻度条:set colorbox vertical right outside,让观众能直观对应颜色和密度值。
  • 调整坐标轴范围:如果只需要展示特定子区域,直接修改xrange和yrange即可,Gnuplot会自动忽略范围外的点。
  • 自定义配色:除了内置配色,你可以用set palette defined完全自定义颜色梯度,比如set palette defined (0 "white", 1 "lightyellow", 2 "orange", 3 "darkred")。

内容的提问来源于stack exchange,提问作者Abhishek Mitra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:38:10