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

R绘制堆叠直方图fill参数失效无堆叠仅显示灰色问题求助

问题原因

  • 核心问题出在填充映射的变量类型上:你的dbin列是数值型,ggplot默认将其识别为连续变量,无法按离散取值拆分分组进行堆叠,也无法匹配离散填充色,最终只会输出全灰色的总计计数结果。
  • 时间作为x轴变量本身没有问题,binwidth = 3600的小时粒度设置也符合你的需求。

解决方法

只需要将dbin转换为因子类型,让ggplot识别为离散分组变量即可,修改后的代码如下:

library(ggplot2)
# 直接在映射时将dbin转为因子,也可提前修改数据框的列类型
gg3 <- ggplot(data = mini, aes(x = st_time, fill = factor(dbin))) 
gg3 <- gg3 + geom_histogram(position = "stack", binwidth = 3600) +
  labs(fill = "dbin") # 可选:修改图例名称,避免显示factor(dbin)
gg3

修改后就会按照dbin的不同取值分配填充色,按堆叠方式展示每个小时内的分组计数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:15:04