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

解决geom_hex无法按xRV变量填充颜色仅显示灰色六边形的问题

问题原因

geom_hex 默认启用分箱计数的统计逻辑,当你直接将fill映射到xRV时,程序无法判断同一个六边形分箱内存在多个xRV值时该取哪个值做颜色映射,因此会默认显示灰色。

解决方案

方案1:单观测对应独立六边形

如果你的场景中每个观测点对应独立的六边形,无需分箱聚合,可指定统计方式为identity,同时调整分箱大小适配坐标刻度间隔:

library(ggplot2)
library(hexbin)

ggplot(miheat, aes(x = RelZ, y = IVB)) + 
  geom_hex(aes(fill = xRV), stat = "identity", binwidth = c(1, 1)) + 
  scale_fill_gradient2(low = "red" , mid = "white" , high = "blue", space = "Lab")

可根据实际坐标范围调整binwidth的两个参数,保证每个观测点落在独立分箱内即可正常映射颜色。

方案2:多观测分箱聚合

如果全量数据存在多个观测落在同一个六边形的场景,可指定分箱内xRV的聚合规则(比如取均值、中位数、最大值等),使用summary_hex统计逻辑实现:

library(ggplot2)
library(hexbin)

ggplot(miheat, aes(x = RelZ, y = IVB, z = xRV)) + 
  geom_hex(stat = "summary_hex", fun = mean) + 
  scale_fill_gradient2(low = "red" , mid = "white" , high = "blue", space = "Lab")

将fun = mean替换为fun = median等其他函数即可切换聚合规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:24:03