我发现了很多文章,并被其引向了很多文章,这些文章展示了如何将统计信息放在ggplot的一个条形图的所有条形上方,但是我还没有找到一个显示如何仅在该条形图的一个条形上方显示计数/百分比的图形。
例如,下面的图:
ggplot(mtcars, aes(x = gear)) + geom_bar() +
geom_text(stat='count',aes(label=..count..),vjust=-1)
我怎么能只在中间条上方打印“ 12”,然后在抑制条上打印“ 5”和“ 15”。我要显示的上方条形图会因地块而异(例如,在另一个地块中,我想显示统计值高于5个条形中的第4个)。
您可以使用stat()计算计数并为geom_text()定义任何条件
library(ggplot2)
library(dplyr)
# Select the gear with the second highest count
g <- mtcars %>% group_by(gear) %>% summarise(n = n()) %>% arrange(rev(n)) %>% .[2, 1]
ggplot(mtcars, aes(x = gear)) +
geom_bar() +
geom_text(stat='count',
aes(label=stat(ifelse(x == !!g, count, NA))), # Apply condition
color = "blue",
vjust=-1) +
NULL
由reprex软件包(v0.2.1)创建于2018-10-13
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句