如何在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"))
输出
如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:
广告