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

如何修复ggplot中geom_hex()绘制的六边形重叠问题?

解决六边形热力图重叠及数值取平均问题

你的代码存在三个核心问题,直接导致了六边形重叠、统计逻辑不符合需求的情况:

  • 错误的分组设置:group=value会让每个不同value的点单独生成六边形,完全打乱了geom_hex的区域划分逻辑,是重叠的主要原因。
  • 过大的边框宽度:linewidth=10让六边形边框异常粗,会挤压甚至覆盖相邻图形,加重重叠视觉效果。
  • 默认统计逻辑不符:geom_hex默认统计落入六边形的点数量,而你需要的是数值平均值,需要修改统计方式。

修正后的代码

pp = ggplot(df, aes(x = lon, y = lat, fill = value)) +
  geom_hex(bins = 50, linewidth = 0.5, stat = "summary_bin", fun = mean) 
pp

关键调整说明

  • 移除group=value:让geom_hex按照坐标区域正常划分六边形,避免重复绘制。
  • 调小linewidth:设置为0.5或更小,保证边框正常显示且不干扰相邻图形。
  • 指定统计逻辑:通过stat="summary_bin", fun=mean,要求对每个六边形内的value计算平均值,替换默认的计数统计。

如果调整后仍存在密集导致的轻微重叠,可尝试降低bins参数值(比如从50改为30),减少六边形数量来缓解拥挤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 20:02:23