如果我们使用 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"))输出结果
如果您将上述所有片段作为单个程序执行,它会生成以下输出 -