使用 ggplot2 在 R 中移除图例显示中的灰色。


要使用 ggplot2 移除图例显示中的灰色,我们可以使用 theme 函数,其中我们可以将 legend.key 参数使用 element_rect 填充为白色。

例如,如果我们有一个名为 df 的数据框,其中包含三个列,例如 X、Y 和 F,其中 X 和 Y 是数值型,F 是类别型,那么我们可以使用下面给出的命令创建 X 和 Y 之间的散点图,并且图例显示中没有灰色。

ggplot(df,aes(X,Y))+geom_point(aes(colour=factor(F)))+theme(legend.key=element_rect(fill="white"))

示例

以下代码片段创建了一个示例数据框。

x<-round(rnorm(20),2)
y<-round(rnorm(20),2)
Category<-sample(LETTERS[1:3],20,replace=TRUE)
df<-data.frame(x,y,Category)
df

创建了以下数据框

      x     y  Category
 1 -0.22 -0.31  B
 2  0.81  0.09  A
 3  0.81 -0.17  C
 4 -0.09 -0.09  A
 5  0.70  0.57  B
 6 -0.48 -0.93  B
 7  1.46  0.14  B
 8  0.07 -0.12  A
 9 -0.32  0.40  C
10  0.95 -0.96  C
11 -0.32  0.33  B
12 -0.84 -0.25  A
13  0.07 -0.10  B
14 -0.48  0.58  A
15 -0.51 -0.60  C
16  1.48 -0.41  A
17 -0.66 -1.17  A
18 -0.31 -0.49  B
19  0.77  0.30  A
20  0.09  0.55  A

要加载 ggplot2 包并在上面创建的数据框上基于 Category 列创建 x 和 y 之间的散点图(点的颜色基于 Category 列),请将以下代码添加到上述代码片段中。

x<-round(rnorm(20),2)
y<-round(rnorm(20),2)
Category<-sample(LETTERS[1:3],20,replace=TRUE)
df<-data.frame(x,y,Category)
library(ggplot2)
ggplot(df,aes(x,y))+geom_point(aes(colour=factor(Category)))

输出

如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出。

要在上面创建的数据框上基于 Category 列创建 x 和 y 之间的散点图(点的颜色基于 Category 列),并且图例显示中没有灰色,请将以下代码添加到上述代码片段中。

x<-round(rnorm(20),2)
y<-round(rnorm(20),2)
Category<-sample(LETTERS[1:3],20,replace=TRUE)
df<-data.frame(x,y,Category)
library(ggplot2)
ggplot(df,aes(x,y))+geom_point(aes(colour=factor(Category)))+theme(legend.key=element_rect(fill="white"))

输出

如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出。

更新于: 2021年11月9日

4K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告