r - 按组连接躲避的 geom_point 的点

标签 r ggplot2

考虑这个嵌套数据集,其中我的目标是在 x 轴上绘制两个嵌套因子变量:

df <- data.frame(X=c(rep("A",9), rep("B",9), rep("C",9)),
                 nested=c(rep(c(rep("X",3), rep("Y",3), rep("Z",3)),3)),
                 response=runif(27))

ggplot(df) +
  geom_point(aes(x=X, y=response, col=nested, group=nested, shape=nested), position=position_dodge(width=1))

我想将每个 X 级别的嵌套级别中的点连接起来,以便在绘图中获得从最大值到最小值的垂直平行线每个嵌套级别中的响应。 (很相似,如果要使用箱线图,我会使用 fill=nested),但我的第一种方法并不令人满意:

ggplot(df) +
  geom_point(aes(x=X, y=response, col=nested, group=nested, shape=nested), position=position_dodge(width=0.3))+
  geom_line(aes(x=X, y=response, col=nested, group=nested))

我可以想象使用 geom_errorbar,但这意味着我需要创建一个带有最小值和最大值的单独数据框,对吗?

最佳答案

你也可以躲避线路。只需确保 group 美学映射到 nestedX 之间的交互即可:

ggplot(df) +
  geom_point(aes(x = X, y = response, col = nested, shape = nested), 
             position=position_dodge(width = 0.3)) +
  geom_line(aes(x = X, y = response, col = nested, 
                group = interaction(nested, X)),
            position = position_dodge(width = 0.3))

enter image description here

关于r - 按组连接躲避的 geom_point 的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64560515/

相关文章:

r - 堆积条 ggplot2 上的误差条

R - 从向量中除/添加到数据框值中的所有列

r - 将函数应用于 data.table 中的每个指定列并按引用更新

r - 这些数据框分配之间有什么区别?

r - 无法远程连接到 Shiny 服务器并使 R 应用程序正常工作

R: "InvalidArgument ` -delay' 带动画和 ggplot

r - 提取 R 函数的参数以在 knit 中使用

r - 使用 ggplot 的 sec.axis 和非单调变换

r - 将标签放在负和正 geom_bar 上

具有构面功能的 R 饼图圆环图