[英]ggplot2 grouped boxplot doesn't separate groups for different timepoints
[英]Displaying separate means within fill groups in ggplot boxplot
我有一个使用3类数据的分组箱图。 一个类别设置为箱图的x轴,另一个设置为填充,最后一个设置为分面类别。 我想显示每个填充组的均值,但是使用stat_summary
只能给出x轴类别的均值,而不分离填充的均值:
这是当前的代码:
demoplot<-ggplot(demo,aes(x=variable,y=value))
demoplot+geom_boxplot(aes(fill=category2),position=position_dodge(.9))+
stat_summary(fun.y=mean, colour="black", geom="point", shape=18, size=4,) +
facet_wrap(~category1)
有没有办法显示每个类别2的均值,而无需手动计算和绘制点数? 调整位置闪避并没有多大帮助,因为它只是一个计算平均值。 是否建议在mean()
函数内创建条件?
感谢对此的任何启示。
Ggplot需要有关于分组的明确信息。 您可以通过在所需图层中使用aes(group=....)
或将fill=...
移动到主要调用ggplot来实现。 如果没有对图层进行显式分组,ggplot将按x轴上的因子分组。 这是一些带有假数据的示例代码:
library(ggplot2)
set.seed(123)
nobs <- 1000
dat <- data.frame(var1=sample(LETTERS[1:3],nobs, T),
var2=sample(LETTERS[1:2],nobs,T),
var3=sample(LETTERS[1:3],nobs,T),
y=rnorm(nobs))
p1 <- ggplot(dat, aes(x=var1, y=y)) +
geom_boxplot(aes(fill=var2), position=position_dodge(.9)) +
facet_wrap(~var3) +
stat_summary(fun.y=mean, geom="point", aes(group=var2), position=position_dodge(.9),
color="black", size=4)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.