使用 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+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.