[英]R: ggplot2 geom_text data labels for binned geom_bar
I am new to ggplot2 and on my first try ran into a problem that is not obvious to solve: 我是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))
I can either have bar plot with correct number of observations but can not set y value to adjust positions. 我可以使用带有正确观察值的条形图,但不能设置y值来调整位置。 Or I can adjust positions but can not set labels to count number of observations.
或者,我可以调整位置,但不能设置标签来计算观察次数。
Expected result is midpoint of both - have values of graph one in positions set in graph two. 预期结果是两者的中点-在图2中设置的位置具有图1的值。
Even better, can I set y positions for every geom_text value (eg mid-bar for tall bar, then above bar for short bar)? 更好的是,是否可以为每个geom_text值设置y位置(例如,中间栏表示高栏,然后上方栏表示短栏)?
Something like this? 像这样吗
ggplot(x, aes(factor(y))) +
geom_bar(fill = 2) +
geom_text(stat="bin", aes(label = ..count.., y=(..count..-..count..)+5))
You can modify the aes()
for each geom_
and you can actually supply a whole new data=
parameter to each geom_
if you want special information on that layer. 您可以修改
aes()
每个geom_
实际上,你可以提供一个全新的data=
参数每个geom_
,如果你想在该层上的特殊信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.