如何在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+

启动您的职业生涯

通过完成课程获得认证

开始学习
广告