如何在 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 包并为 Gender 中的类别创建高度直方图,请将以下代码添加到上述代码段 -

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

如果您将上述所有片段作为单个程序执行,它会生成以下输出 -

要通过手动定义图例值和直方图颜色为 Gender 中的类别创建高度直方图,请将以下代码添加到上述代码段 -

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

如果您将上述所有片段作为单个程序执行,它会生成以下输出 -

猜你喜欢