📅  最后修改于: 2023-12-03 15:07:47.670000             🧑  作者: Mango
当我们用 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 中的图例,包括使用 guides
和 theme
函数两种方式。如果需要自定义图例的样式,可以参考 ggplot2 的帮助文档,其中有非常详细的说明和示例。