如何在R的ggplot2中使用盒子包裹圖例?


為了在R的ggplot2中使用盒子包裹圖例,我們可以使用theme函式以及legend.box.background和legend.box.margin引數。legend.box.background將藉助element_rect建立一個矩形元素,並在legend.box.margin中設定邊距值。

檢視下面的示例以瞭解如何操作。

示例

以下程式碼片段建立一個示例資料框:

Score<-sample(1:100,20)
Rank<-sample(1:10,20,replace=TRUE)
Gender<-sample(c("Male","Female"),20,replace=TRUE)
df<-data.frame(Score,Rank,Gender)
df

建立了以下資料框

 Score Rank Gender
 1 80     9 Male
 2 82     1 Female
 3 13     5 Male
 4 91     1 Female
 5 62     6 Male
 6 52     2 Female
 7 72     7 Male
 8 15     2 Male
 9 44     2 Male 
10 78     5 Male
11 5     10 Male
12 22     1 Female
13 92     8 Female
14 94     2 Male
15 40     3 Male
16 73     8 Female
17 66     6 Male
18 70     6 Male
19 69     6 Male
20 47     7 Male

要在上面建立的資料框中載入ggplot2包並在分數和排名之間建立散點圖(點按性別著色),請將以下程式碼新增到上面的程式碼片段中:

Score<-sample(1:100,20)
Rank<-sample(1:10,20,replace=TRUE)
Gender<-sample(c("Male","Female"),20,replace=TRUE)
df<-data.frame(Score,Rank,Gender)
library(ggplot2)
ggplot(df,aes(Score,Rank))+geom_point(aes(colour=factor(Gender)))

輸出

如果將以上所有程式碼片段作為一個程式執行,它將生成以下輸出:

要在上面建立的資料框中建立分數和排名之間的散點圖(點按性別著色),並使圖例用框包裹,請將以下程式碼新增到上面的程式碼片段中:

Score<-sample(1:100,20)
Rank<-sample(1:10,20,replace=TRUE)
Gender<-sample(c("Male","Female"),20,replace=TRUE)
df<-data.frame(Score,Rank,Gender)
library(ggplot2)
ggplot(df,aes(Score,Rank))+geom_point(aes(colour=factor(Gender)))+theme(legend.
box.background=element_rect(),legend.box.margin=margin(5,5,5,5))

輸出

如果將以上所有程式碼片段作為一個程式執行,它將生成以下輸出:

更新於:2021年11月9日

2K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.