闪避不起作用

时间:2016-09-18 16:59:23

标签: r ggplot2

在我的图表中,我有重叠,尝试使用position_dodge的位置,但无济于事。我制作了一个重现问题的示例程序:

data1 <- data.frame(source=c("group1", "group1"), q=c("Q1", "Q2"), mean=c(2.6, 1.9), se=c(0.16, 0.4))
data2 <- data.frame(source=c("group2", "group2"), q=c("Q1", "Q2"), mean=c(2.4, 0.9), se=c(0.2, 0.1))
pd <- position_dodge(1)
ggplot(data1) + 
  geom_errorbar(data=data1, position=pd, width=.3, aes(x=q,ymin=mean-se,ymax=mean+se,color=source)) +
  geom_point(size=3, position=pd,data = data1, aes(x=q, y=mean, color=source, shape=source)) + 
  geom_errorbar(data=data2, position=pd, width=.3, aes(x=q,ymin=mean-se,ymax=mean+se,color=source)) +
  geom_point(size=3, position=pd,data = data2, aes(x=q, y=mean, color=source, shape=source))

enter image description here

我做错了什么?

1 个答案:

答案 0 :(得分:2)

Dodgind无法正常工作,因为您有两个数据框。将所有数据放在一个数据框中,然后就可以了。

data3<-rbind(data1,data2)
ggplot(data3)+
      geom_errorbar(position=pd, width=.3, aes(x=q,ymin=mean-se,ymax=mean+se,color=source)) +
      geom_point(size=3, position=pd,aes(x=q, y=mean, color=source, shape=source))