R:ggplot2 geom_text 分箱的数据标签 geom_bar

R: ggplot2 geom_text data labels for binned geom_bar

我是 ggplot2 的新手,第一次尝试 运行 遇到了一个不太容易解决的问题:

x <- data.frame(y = c(1,1,1,2,2,3,rep(c(1,2,3,4), 10)))

ggplot(x, aes(factor(y))) +
  geom_bar(fill = 2) +
  geom_text(stat="bin", aes(label = ..count..))

ggplot(x, aes(factor(y))) +
  geom_bar(fill = 2) +
  geom_text(aes(y = 5, label = y))

我可以用正确的观测数绘制条形图,但不能设置 y 值来调整位置。或者我可以调整位置但不能设置标签来计算观察次数。

预期结果是两者的中点 - 图一的值位于图二中设置的位置。

更好的是,我可以为每个 geom_text 值设置 y 位置吗(例如,中间条代表高条,然后上面条代表短条)?

是这样的吗?

ggplot(x, aes(factor(y))) +
  geom_bar(fill = 2) +
  geom_text(stat="bin", aes(label = ..count.., y=(..count..-..count..)+5))

您可以修改每个 geom_aes(),如果您需要有关该层的特殊信息,您实际上可以为每个 geom_ 提供一个全新的 data= 参数.