📜  在 R 中删除 ggplot2 中的图例(1)

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

在 R 中删除 ggplot2 图例

当我们用 ggplot2 绘制图形时,通常会自动生成一个图例,用于帮助读者理解图形中不同元素的含义。然而,在某些情况下,我们可能不需要图例或者想要自定义图例的样式。在本文中,我们将介绍如何在 R 中删除 ggplot2 中的图例。

生成示例数据

为了演示如何删除 ggplot2 图例,我们首先需要生成一组示例数据。这里我们使用 mtcars 数据集中的前五行数据:

library(ggplot2)

data(mtcars)
df <- head(mtcars)
绘制带图例的散点图

接下来,我们将使用 ggplot2 绘制一张带图例的散点图,并以此为基础进行介绍。值得注意的是,在 ggplot2 中,图例是根据图形中的 aes(美学映射)生成的。如果我们想要删除图例,需要考虑来自哪些 aes 的数据被用于生成图例。

ggplot(df, aes(x = wt, y = mpg, color = factor(cyl))) +
  geom_point() +
  labs(title = "mpg vs. wt by cyl")

以上代码会生成一张带图例的散点图,其中 x 轴表示车重(wt),y 轴表示油耗(mpg),颜色表示汽缸数(cyl)。

方法一:设置 guides 函数参数

要删除 ggplot2 图例的最简单方法是使用 guides 函数,并将其对应 aes 的图例设为 FALSE

ggplot(df, aes(x = wt, y = mpg, color = factor(cyl))) +
  geom_point() +
  labs(title = "mpg vs. wt by cyl") +
  guides(color = FALSE)

以上代码中的 guides(color = FALSE) 表示删除颜色 aes 对应的图例。如果我们还想删除其他 aes 对应的图例,只需要将对应参数设为 FALSE 即可。

方法二:设置图例的 theme

另一种方法是使用 theme 函数,并将对应 aes 的图例设为 element_blank()

ggplot(df, aes(x = wt, y = mpg, color = factor(cyl))) +
  geom_point() +
  labs(title = "mpg vs. wt by cyl") +
  theme(legend.title = element_blank(),
        legend.position = "none")

以上代码中的 legend.title = element_blank() 表示删除图例标题,legend.position = "none" 则表示不显示图例。如果我们只想删除图例标题,可以只使用 legend.title = element_blank()

总结

本文介绍了如何在 R 中删除 ggplot2 中的图例,包括使用 guidestheme 函数两种方式。如果需要自定义图例的样式,可以参考 ggplot2 的帮助文档,其中有非常详细的说明和示例。