使用 position_dodge2 居中 stat_summary 误差线
Centering stat_summary errorbars with position_dodge2
我似乎无法让这些误差条居中。我认为 position_dodge2(width=0.5)
可以解决问题,但更改 width
参数似乎没有任何作用?
示例:
set.seed(1234)
library(tidyverse)
data.frame(rep=c(rep(1,15),rep(2,15)),
num=rep(c(sample(c(1:15),15)),2),
sex=rep(c(sample(c("m","f"),15,T))),
conc=rep(c(rep("1:1000",5),rep("1:100",5),rep("1:10",5)),2),
c1=c(sample(c(0:100),15,T),sample(c(0:100),15,T)),
c2=c(sample(c(0:100),15,T),sample(c(0:100),15,T)),
c3=c(sample(c(0:100),15,T),sample(c(0:100),15,T)),
c4=c(sample(c(0:100),15,T),sample(c(0:100),15,T)))%>%
pivot_longer(cols=c(c1,c2,c3,c4),
names_to="compound",
values_to="time")%>%
ggplot(aes(x=compound,
y=time,
group=rep,
fill=as.factor(rep)))+
stat_summary(fun="mean",geom="col",
position=position_dodge2(width=1))->p1
p1+facet_grid(conc~.)
p1+stat_summary(fun.data="mean_se",geom="errorbar",
width=0.5,
position=position_dodge2(width=0.5))+
facet_grid(conc~.)
p1+stat_summary(fun.data="mean_se",geom="errorbar",
width=0.5,
position=position_dodge2(width=1))+
facet_grid(conc~.)
p1+stat_summary(fun.data="mean_se",geom="errorbar",
width=0.5,
position=position_dodge2(width=0.1))+
facet_grid(conc~.)
p1+stat_summary(fun.data="mean_se",geom="errorbar",
width=0.5,
position=position_dodge(width=0.5))+
facet_grid(conc~.)
我认为这是 position_dodge2()
中用于回避错误栏的错误,因为我遇到过同样的问题。使用 position_dodge2()
的躲避点 geoms 同样是 finnicky。
修复方法是使用 position_dodge()
,尽管您可能需要稍微调整一下 dodge 和 geom 本身的宽度才能使事情看起来正确:
p1 + stat_summary(fun.data="mean_se",geom="errorbar",
width=0.5,
position=position_dodge(width=0.9)) +
facet_grid(conc~.)
我似乎无法让这些误差条居中。我认为 position_dodge2(width=0.5)
可以解决问题,但更改 width
参数似乎没有任何作用?
示例:
set.seed(1234)
library(tidyverse)
data.frame(rep=c(rep(1,15),rep(2,15)),
num=rep(c(sample(c(1:15),15)),2),
sex=rep(c(sample(c("m","f"),15,T))),
conc=rep(c(rep("1:1000",5),rep("1:100",5),rep("1:10",5)),2),
c1=c(sample(c(0:100),15,T),sample(c(0:100),15,T)),
c2=c(sample(c(0:100),15,T),sample(c(0:100),15,T)),
c3=c(sample(c(0:100),15,T),sample(c(0:100),15,T)),
c4=c(sample(c(0:100),15,T),sample(c(0:100),15,T)))%>%
pivot_longer(cols=c(c1,c2,c3,c4),
names_to="compound",
values_to="time")%>%
ggplot(aes(x=compound,
y=time,
group=rep,
fill=as.factor(rep)))+
stat_summary(fun="mean",geom="col",
position=position_dodge2(width=1))->p1
p1+facet_grid(conc~.)
p1+stat_summary(fun.data="mean_se",geom="errorbar",
width=0.5,
position=position_dodge2(width=0.5))+
facet_grid(conc~.)
p1+stat_summary(fun.data="mean_se",geom="errorbar",
width=0.5,
position=position_dodge2(width=1))+
facet_grid(conc~.)
p1+stat_summary(fun.data="mean_se",geom="errorbar",
width=0.5,
position=position_dodge2(width=0.1))+
facet_grid(conc~.)
p1+stat_summary(fun.data="mean_se",geom="errorbar",
width=0.5,
position=position_dodge(width=0.5))+
facet_grid(conc~.)
我认为这是 position_dodge2()
中用于回避错误栏的错误,因为我遇到过同样的问题。使用 position_dodge2()
的躲避点 geoms 同样是 finnicky。
修复方法是使用 position_dodge()
,尽管您可能需要稍微调整一下 dodge 和 geom 本身的宽度才能使事情看起来正确:
p1 + stat_summary(fun.data="mean_se",geom="errorbar",
width=0.5,
position=position_dodge(width=0.9)) +
facet_grid(conc~.)