如何在成组图中使用成对比较线

时间:2018-08-28 17:48:28

标签: r ggplot2

我正在尝试在分组图中创建成对的比较线。我可以像这样在未分组的图中创建线条:

df <- iris %>%
        group_by(Species) %>%
        mutate(Pairs = row_number()) %>%
        gather(variable, value, -c(Species, Pairs)) %>%
        filter(variable == "Petal.Length")

ggplot(df, aes(x = Species, y = value, color = Species)) +
  geom_point() +
  geom_line(aes(group = Pairs), color = "#444444")

但是,如果我尝试按variable对数据进行分组(这将使我有可能绘制多个分组的变量),则这些行将无法正确连接,但看起来是正确的长度:

ggplot(df, aes(x = variable, y = value, color = Species)) +
  geom_point(position = position_dodge(0.7)) +
  geom_line(aes(group = Pairs), color = "#444444")

以这种方式绘制的好处是,我可以绘制多个变量并将它们分组在一起。

df2 <- iris %>%
            group_by(Species) %>%
            mutate(Pairs = row_number()) %>%
            gather(variable, value, -c(Species, Pairs)) %>%
            filter(variable %in% c("Petal.Length", "Sepal.Length"))

ggplot(df2, aes(x = variable, y = value, color = Species)) +
      geom_point(position = position_dodge(0.7)) +
      geom_line(aes(group = Pairs), color = "#444444")

有没有办法使线连接到它们各自的点?

将变量(例如Sepal.LengthPetal.Length等在x轴上绘制并分组在一起,以使来自Sepal.Length的值不会混淆使用Petal.Length中的值,即使同时绘制了两个变量。这些图中的比较与第一个图中的比较相同(即,通过Species)。我创建了一个名为Pairs的列,其中包含每个样本的数字。我想使用Pairs中的信息将每个Species中的各个点与一条连接线链接起来,就像上面第一幅图中的情况一样。

0 个答案:

没有答案