R中的堆叠直方图填充不堆叠

Posted

技术标签:

【中文标题】R中的堆叠直方图填充不堆叠【英文标题】:Stacked histogram in R. fill not stacking 【发布时间】:2021-11-24 14:37:04 【问题描述】:

尝试制作堆叠直方图,但结果只是灰色,没有堆叠。我不明白这里的所有示例或内置的“iris”示例有什么不同,除非使用时间作为 x 变量是一个问题。

我有一个长格式的大 df,减少到 25 行,并在此示例中命名为“mini”:

> dput(mini)
structure(list(maxdep = c(203.9540564, 212.9573869, 13.45896065, 
209.961431, 162.9633891, 13.97961439, 85.48389032, 102.4905817, 
100.0035986, 88.02608837, 89.02947373, 22.0301996, 20.03060219, 
19.03098037, 29.03141345, 13.03170014, 82.0328164, 55.03384725, 
15.03437183, 17.53463412, 37.5352136, 70.03588457, 90.53687883, 
91.53861116, 10.03902594), st_time = structure(c(1633321800, 
1633328510, 1633331050, 1633331285, 1633334080, 1633347960, 1633348185, 
1633355115, 1633279830, 1633298825, 1633301480, 1633302985, 1633303300, 
1633303600, 1633303825, 1633304280, 1633304430, 1633305635, 1633306445, 
1633306610, 1633306890, 1633307310, 1633307960, 1633309380, 1633310320
), class = c("POSIXct", "POSIXt"), tzone = ""), dbin = c(2, 2, 
1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1)), row.names = c(NA, 25L), class = "data.frame")

代码很简单:

gg3 <- ggplot(data = mini, aes(x = st_time, fill = dbin)) # 
gg3 <- gg3 + geom_histogram(position = "stack", binwidth = 3600) # gives hourly columns in histogram
gg3

这应该在 x 轴上绘制数据的开始时间 - 正确,相对于 y 上的计数 - 正确并按 dbin 值(例如 1 到 5)堆叠颜色 - 生成堆叠在每个顶部的 5 种颜色的直方图其他(上面的示例数据中只有两个)。

相反,我得到了所有数据的一个灰色图(总共 25 个)。请帮助我了解问题所在

【问题讨论】:

【参考方案1】:

您可以将dbin 更改为一个因子:

mini %>% 
  ggplot(aes(x = st_time, fill = as.factor(dbin) )) +
  geom_histogram(position = "stack", binwidth = 3600) 

【讨论】:

是的。我把我的垃圾箱改成字母而不是数字,做同样的事情。

以上是关于R中的堆叠直方图填充不堆叠的主要内容,如果未能解决你的问题,请参考以下文章

R语言ggplot2可视化:可视化堆叠的直方图添加每个分组的每个bin的计数标签在堆叠直方图的bin中的每个分组部分添加数值标签

R语言ggplot2可视化:可视化人口金字塔图直方图(堆叠直方图连续变量堆叠直方图离散变量堆叠直方图)密度图箱图(添加抖动数据点tufte箱图多分类变量分组箱图)小提琴图

R语言ggplot2可视化:可视化连续(数值)变量的堆叠的直方图自定义堆叠直方图中不同分组条形的色彩自定义直方图bin的个数(Histogram for Continuous Variable)

R语言ggplot2可视化:可视化堆叠的直方图在bin中的每个分组部分添加数值标签使用position_stack函数设置

R语言ggplot2可视化:可视化离散(分类)变量的堆叠的直方图自定义堆叠直方图中不同分组条形的色彩(Histogram for Categorical Variable)自定义轴标签旋转的角度

R语言ggplot2可视化:可视化连续(数值)变量的堆叠的直方图自定义堆叠直方图中不同分组条形的色彩自定义直方图bin的宽度基于宽度自动选择bin的个数(Histogram for Contin