我是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值来调整位置。或者我可以调整位置,但不能设置标签来计算观察次数。
预期结果是两者的中点 - 在图2中设置的位置具有图1的值。
更好的是,我可以为每个geom_text值设置y位置(例如,高条形的中间条,短条形条的条形条上方)?
答案 0 :(得分:2)
这样的东西?
ggplot(x, aes(factor(y))) +
geom_bar(fill = 2) +
geom_text(stat="bin", aes(label = ..count.., y=(..count..-..count..)+5))
如果您需要有关该图层的特殊信息,可以修改每个aes()
的{{1}},并为每个geom_
提供一个全新的data=
参数。< / p>