使用 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~.)