如何使用 R 中的 ggplot2 更改多个直方图的图例?

r programmingserver side programmingprogramming更新于 2025/4/9 17:52:17

如果我们使用 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"))

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −


相关文章