R 每个变量具有多个观测值的几何点:如何避开位置和改变颜色(ggplot2)

R 每个变量具有多个观测值的几何点:如何避开位置和改变颜色(ggplot2),r,ggplot2,R,Ggplot2,我正在尝试使用ggplot2在R中创建一个系数图。因为我已经计算了数据,所以我使用geom_point和geom_errorbarh。因为我希望每个变量包含两个模型/组,所以我尝试将系数和间隔放在彼此下方,并更改它们的颜色。不幸的是,我没有发现这两种方法是如何工作的 我知道我应该用颜色=。。。或者scale_color_manual(值=…),但随后我收到错误消息“error:美学必须为长度1或与数据相同” 对于闪避,我已经尝试过geom_point(position=dodge),但是R似乎不

我正在尝试使用ggplot2在R中创建一个系数图。因为我已经计算了数据,所以我使用geom_point和geom_errorbarh。因为我希望每个变量包含两个模型/组,所以我尝试将系数和间隔放在彼此下方,并更改它们的颜色。不幸的是,我没有发现这两种方法是如何工作的

我知道我应该用颜色=。。。或者scale_color_manual(值=…),但随后我收到错误消息“error:美学必须为长度1或与数据相同”

对于闪避,我已经尝试过geom_point(position=dodge),但是R似乎不再知道这个命令

example<-data.frame(group=c("group1", "group2", "group1", "group2"),
                variable=c("variable1", "variable1", "variable2", "variable2"),
                value=c(0.4, 0.2, 0.3, 0.2),
                min=c(0.3, 0.1, 0.2, 0.1),
                max=c(0.5, 0.3, 0.4, 0.3))

groupcolor<-c("group1"="red", "group2"="purple")

ggplot(example, aes(x=value, y=variable))+
     theme_bw()+
     scale_x_continuous(breaks=seq(0.0,0.6,0.2), limits=c(0.0, 0.6))+
     geom_point(size=2)+
     scale_colour_manual(values=groupcolor)+
     geom_errorbarh(mapping=aes(xmin=min, xmax=max), height=0.1)

example这就是我想要接近理想输出的方法

dodge <- .5 # for consistancy between layers

ggplot(example, aes(x = variable, y = value, color = group)) +
  geom_point(size=2,
             position = position_dodge(width = dodge)) +
  geom_errorbar(aes(ymin = min, ymax = max), width = 0.1,
                 position = position_dodge(width = dodge)) +
  scale_colour_manual(values=groupcolor) +
  scale_y_continuous(breaks=seq(0.0,0.6,0.2), limits=c(0.0, 0.6)) +
  coord_flip() +
  theme_bw()

道奇非常感谢!这很好用。我不知道在“高度”上闪避是不可能的。而且颜色现在也可以用了!颜色正在工作,因为现在您告诉ggplot您希望它从数据映射到
aes(…,color=group)
一旦它知道了这一点,它就会注意您指定的比例。