继这个问题之后:如何在 ggplot2 箱线图中添加每组的观察数量并使用组平均值? https://stackoverflow.com/questions/15660829,我想添加每组的观察数量ggplot箱线图也是如此。但我添加了一种颜色aes映射。
现有答案显示了如何调整 y 轴上的文本位置。如何调整 x 轴上的文本位置?
这是重现我的问题的最小示例:
library(ggplot2)
give.n <- function(x){
return(c(y = median(x)*1.05, label = length(x)))
# experiment with the multiplier to find the perfect position
}
p <- ggplot(mtcars, aes(factor(vs), mpg, colour = factor(am))) +
geom_boxplot() +
stat_summary(fun.data = give.n, geom = "text", fun.y = median)
p
你可以只使用position
:
p <- ggplot(mtcars, aes(factor(vs), mpg, colour = factor(am))) +
geom_boxplot() +
stat_summary(fun.data = give.n, geom = "text", fun.y = median,
position = position_dodge(width = 0.75))
p
The width
的论证position_dodge()
控制水平轴上的定位。 0.75 是最佳点,看看它如何适用于不同数量的分组:
p2 <- ggplot(mtcars, aes(factor(vs), mpg, colour = factor(cyl))) +
geom_boxplot() +
stat_summary(fun.data = give.n, geom = "text", fun.y = median,
position = position_dodge(width = 0.75))
p2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)