0

我有 4 个地块,每个地块都有不同的几何图形,但共享相同的图例。为了对图进行分组,我使用拼凑而成,但这次我无法按照我想要的方式制作图例,因为 Sample 元素会重复。任何想法?

library(ggplot2)
library(patchwork)

Sample <- c("a", "b")
Time <- c(0,1,2)

df <- expand.grid(Time=Time, Sample = Sample)
df$Value <- c(1,2,3,2,4,6)

p1 <- ggplot(data = df,
             aes(x = Time,
                 y = Value)) +
  geom_point(aes(color = Sample)) +
  geom_line(aes(color = Sample))

p2 <- ggplot(data = df,
             aes(x = Time,
                 y = Value)) +
  geom_function(fun = function(x) x,
                aes(linetype = "Class 1",
                    color = "Class 1")) +
  geom_function(fun = function(x) 2*x,
                aes(linetype = "Class 2",
                    color = "Class 2")) +
  scale_color_manual(name = "Class",
                     values = c("red", "blue")) +
  scale_linetype_manual(name = "Class",
                        values = c(1,2))

p3 <- ggplot(data = df,
             aes(x = Time,
                 y = Value)) +
  geom_point(aes(color = Sample))

p4 <- ggplot(data = df,
             aes(x = Time,
                 y = Value)) +
  geom_point(aes(color = Sample))

plots <- ((p1/p2)|(p3/p4)) +
  plot_annotation(tag_levels = "a") +
  plot_layout(guides = "collect")
plots

在此处输入图像描述

4

0 回答 0