当 x 轴上的分组变量、颜色和线条重叠但总是不同时,是否可以使用 geom_line() 在躲避点之间绘制一条线?
下图中的灰线应该始终连接两个具有相同名称的数据点,它们位于相同的分组 2(x 轴)内,但位于不同的分组 2(颜色)中。
可重现的例子:
library(tidyverse)
tbl = tibble(name = rep(paste("name", 1:12), each = 2),
grouping1 = rep(c("A", "B"), 12),
grouping2 = c(rep("X", 8), rep("Y",8), rep("Z",8)),
value = 1:24)
tbl %>%
ggplot(aes(x = grouping2, y = value, color = grouping1)) +
geom_line(aes(group = name),position= position_dodge(0.5), color = "grey44") +
geom_point(position = position_dodge(0.5))
对于我的具体示例,有一些或多或少的黑客方法可以解决这个问题,例如使用 geom_segment() 作为线条并将 x 轴 grouping2 转换为数字或组合 x 轴上的两个分组(如 grouping1 和 grouping2)。
因此,我的问题是是否有一个clean怎样才能达到想要的剧情?
有一些相关的问题,例如将position_dodge与geom_line结合使用,但它们并不完全相同。