r - 根据不平衡数据在 ggplot 中创建重叠直方图

标签 r ggplot2

我在 R 中使用 ggplot2 来绘制多个重叠的直方图。我在其他答案中看到过这样的内容:

ggplot(histogram, aes(f0)) + 
geom_histogram(data = lowf0, fill = "red", alpha = 0.2) + 
geom_histogram(data = mediumf0, fill = "blue", alpha = 0.2) +
geom_histogram(data = highf0, fill = "green", alpha = 0.2)

如果我的数据来自相同长度的向量,那么这将非常有效,但事实并非如此。我目前已经设置为使用两个不同的单向量数据帧创建两个单独的图。我查遍了所有内容,但找不到任何具有不同大小数据的内容

最佳答案

您可以构造数据,以便拥有包含级别的列。然后ggplot有一个分组选项

times=c(10, 20, 30)
dat <- data.frame(levs=rep(c("low", "med", "high"), times=times),
                  counts=rexp(60, rate=c(rep(c(0.1, 0.2, 0.3), times=times))))
ggplot(dat, aes(counts, fill=levs, group=levs)) + 
    geom_histogram(position="dodge", alpha=0.2)

重叠密度可能看起来更好

ggplot(dat, aes(counts, fill=levs, group=levs)) + 
    geom_density(alpha=0.2)

关于r - 根据不平衡数据在 ggplot 中创建重叠直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30468594/

相关文章:

用 NA 替换所有列的负值?

r - r 中带有 coplot 的特定部分

css - Rmarkdown 生成的 HTML 表格出现颜色问题

r - ggplot2 - 在同一张图上绘制多个模型

r - 通过 r markdown 中的循环创建代码片段

r - 我怎样才能加速我的 Rcpp 代码,它只执行简单的操作?

r - ggplot2:在每个方面从最高到最低重新排列条形

r - 使用 ggplot2 绘制分位数

r - 如何控制ggplot中线段的颜色

r - 如何在ggplot上插入空格? geom_rect() 的问题