如何使用 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"))
输出
如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −