如何在ggplot2(R)的误差线中定义宽度?

时间:2019-02-21 23:28:38

标签: r ggplot2 confidence-interval

我要绘制以下数据。我正在尝试更改错误栏的宽度,但是遇到一个错误,提示Width not defined. Set with position_dodge(width = ?)。我尝试做position_dodge ..但是没有帮助。有什么建议吗?

library(ggplot2)

time <- c("t1","t1","t1","t1","t1","t1","t2","t2","t2","t2","t2","t2")
species <- c(1,1,1,2,2,2,1,1,1,2,2,2)
value <- c(1,2,3,11,12,13,4,5,6,11,12,13)

df <- data.frame(time, species,value)
df$time <- as.factor(df$time)
df$species <- as.factor(df$species)

ggplot(df,aes(x=time, y=value, color = species, group = species)) + # Change fill to color
  theme_bw() + 
  geom_point() + 
  stat_summary(fun.y=mean, position = "dodge") + 
  stat_summary(
    geom="errorbar", 
    fun.data= mean_cl_boot, 
    width = 0.1, size = 0.2, col = "grey57") + 
  # Lines by species using grouping
  stat_summary(aes(group = species), geom = "line", fun.y = mean) +
  ylab("Fitness")

1 个答案:

答案 0 :(得分:1)

位置闪避用于在数据点重叠时显示所有数据点,我不确定这在您的示例中是否有任何用处,并且您可能会发现,如果数据不重叠,只需删除此参数即可解决问题。保持恒定不变即可解决此问题:

pd<-position_dodge(0.5)
  ggplot(df,aes(x=time, y=value, color = species, group = species)) + # Change fill to color
  theme_bw() + 
  geom_point(position = pd) + 
  stat_summary(fun.y=mean, position = pd) + 
  stat_summary(
    geom="errorbar", 
    fun.data= mean_cl_boot, 
    width = 0.1, size = 0.2, col = "grey57",
    position = pd) + 
  # Lines by species using grouping
  stat_summary(aes(group = species), geom = "line", fun.y = mean, position = pd) +
  ylab("Fitness")

只需进行编辑即可防止一切破裂。