如何在R中使用ggplot2更改多個直方圖的圖例?


如果我們使用ggplot2為多個類別建立直方圖,則圖例會根據類別自動生成。如果我們想更改該圖例或建立具有不同圖例值(直方圖具有不同的顏色)的直方圖,則可以使用`scale_fill_manual`函式,如下例所示。

示例

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

Height<-c(sample(140:160,2000,replace=TRUE),sample(165:180,2000,replace=TRUE))
Gender<-c(rep("Female",2000),rep("Male",2000))
df<-data.frame(Gender,Height)
head(df,20)

輸出

建立以下資料框:

   Gender Height
1  Female  148
2  Female  154
3  Female  149
4  Female  152
5  Female  159
6  Female  150
7  Female  144
8  Female  150
9  Female  154
10 Female  149
11 Female  145
12 Female  159
13 Female  157
14 Female  150
15 Female  152
16 Female  144
17 Female  146
18 Female  142
19 Female  144
20 Female  160

要載入ggplot2包併為性別類別中的身高建立直方圖,請將以下程式碼新增到上述程式碼片段中:

library(ggplot2)
ggplot(df,aes(Height,fill=Gender))+geom_histogram(bins=30)

輸出

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

要透過手動定義圖例值和直方圖顏色來為性別類別中的身高建立直方圖,請將以下程式碼新增到上述程式碼片段中:

ggplot(df,aes(Height,fill=Gender))+geom_histogram(bins=30)+scale_fill_manual(name="Gender",values=c("blue","green"),labels=c("Ladies","Gents"))

輸出

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

更新於:2021年11月3日

瀏覽量:1K+

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.