小编Ant*_*ton的帖子

使用 ggplot2 显示堆叠直方图中的 bin 元素总数

我想在 ggplot2 的堆积条形图上显示数据值。经过多次尝试,我发现显示总量(每个豆)的唯一方法是使用以下代码

set.seed(1234)

df <- data.frame(
  sex=factor(rep(c("F", "M"), each=200)),
  weight=round(c(rnorm(200, mean=55, sd=5), rnorm(200, mean=65, sd=5)))
)

p<-ggplot(df, aes(x=weight, fill=sex, color=sex))
p<-p + geom_histogram(position="stack", alpha=0.5, binwidth=5)

tbl <- (ggplot_build(p)$data[[1]])[, c("x", "count")]
agg <- aggregate(tbl["count"], by=tbl["x"], FUN=sum)

for(i in 1:length(agg$x))
  if(agg$count[i])
    p <- p + geom_text(x=agg$x[i], y=agg$count[i] + 1.5, label=agg$count[i], colour="black" )
Run Code Online (Sandbox Code Playgroud)

生成以下图:

在此处输入图片说明

有没有更好(更有效)的方法来使用 ggplot2 获得相同的结果?非常感谢提前

graphics r ggplot2

2
推荐指数
1
解决办法
2474
查看次数

标签 统计

ggplot2 ×1

graphics ×1

r ×1