首页 > 解决方案 > 在ggplot2中将闪避点与闪避线连接起来

问题描述

我正在绘制一些在两组中重叠点的图形,这些图形被躲避以使组清晰。其中一个组的点显示在两个实验条件下(显示在 x 轴上),我想用线连接这两组点。我还想通过填写均值并将单个数据点留空来区分均值和数据点。基本上,我无法让我的“闪避”点与线条整齐地连接起来,即使我也躲开了线条。

作为使用示例数据的示例:

 group <- c("high", "high", "high", "low", "low", "low", "high", "high", "high", "low", "low", "low")
 condition <- c("c1", "c1", "c1", "c1", "c1", "c1", "c2", "c2", "c2", "c2", "c2", "c2")
 value <- c(.91, .63, .5, NA, NA, NA, .93, .76, .43, .5, .6, .8)
 subj <- c("s1", "s2", "s3", "s4", "s5", "s6")

 sample.data <- data.frame(group, condition, value, subj)


 ggplot(sample.data, aes(x=condition, y=value)) +
   geom_point(aes(colour=group, shape = group), size = 2, position = position_dodge(.1)) +
   scale_shape_manual(values=c(2,1)) + 
   geom_line(aes(group=subj), colour='lightgrey') +
   stat_summary(fun.y=mean, geom = "point", aes(shape=group, fill = group),
           size=5, position = position_dodge(.1)) +
   stat_summary(fun.y = mean, aes(group=group, colour=group), geom='line', 
 size=.8, position = position_dodge(.1))

示例图

正如您在示例图中看到的那样,这些线并没有连接点,即使我也“躲过了”这条线。有没有一种巧妙的方法可以让 ggplot 做到这一点?

非常感谢!

标签: rggplot2

解决方案


推荐阅读