📜  如何在 r 中使用绘图图例绘制多图 (1)

📅  最后修改于: 2023-12-03 15:08:46.307000             🧑  作者: Mango

如何在 R 中使用绘图图例绘制多图

在 R 中,我们经常需要绘制多张图,并将它们放在一张画布中,同时还需要添加图例,以便更好地解释图像。本文将介绍如何在 R 中使用绘图图例绘制多图。

准备工作

在绘制多张图之前,我们需要准备好数据,并加载所需的包。这里用到的是 ggplot2 包。

library(ggplot2)

# 准备数据
df <- data.frame(x = 1:10, y1 = rnorm(10), y2 = rnorm(10), y3 = rnorm(10))
绘制多张图

使用 ggplot2 包的 ggplot 函数进行绘图,由于需要绘制多张图,我们使用 facet_wrap 函数将多个子图放在一个画布中。

# 绘制三张图,分别显示 y1,y2,y3
p1 <- ggplot(df, aes(x, y1)) + geom_point()
p2 <- ggplot(df, aes(x, y2)) + geom_point()
p3 <- ggplot(df, aes(x, y3)) + geom_point()

# 将三张图放在一个画布中
p <- p1 + p2 + p3 + facet_wrap(~ .)

# 显示图像
p

绘制结果如下:

多张图绘制效果

添加图例

在上一步中,我们已经将三张图放在了一个画布中,现在我们需要添加图例。使用 ggplot2 包的 scale_color_manual 函数进行图例设置。

# 设置颜色
colors <- c("blue", "red", "green")

# 添加颜色映射
p1 <- ggplot(df, aes(x, y1, color = "y1")) + geom_point()
p2 <- ggplot(df, aes(x, y2, color = "y2")) + geom_point()
p3 <- ggplot(df, aes(x, y3, color = "y3")) + geom_point()

# 将三张图放在一个画布中
p <- p1 + p2 + p3 + facet_wrap(~ .)

# 设置图例
p <- p + scale_color_manual(values = colors, name = "Legend", labels = c("y1", "y2", "y3"))

# 显示图像
p

绘制结果如下:

添加图例效果

通过上述代码,我们成功地将三张图添加了图例并放在了一个画布中。

结论

本文介绍了如何在 R 中使用绘图图例绘制多图。我们可以使用 ggplot2 包的 facet_wrap 函数将多个子图放在一个画布中,并使用 scale_color_manual 函数添加图例。