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
相关产品推荐
相关产品推荐

