为什么在R中使用ggplot2创建的颜色无法填充条形图?


我们可以手动填充使用ggplot2创建的条形图中的条形颜色,但这需要已经用于条形的颜色美学。这意味着我们需要在ggplot2的aes中使用条形的填充,然后可以在scale_fill_manual函数中提及颜色。

示例

考虑以下数据框

在线演示

> x<-c("A","B","C","D")
> count<-c(321,324,320,328)
> df<-data.frame(x,count)
> df

输出

x count
1 A 321
2 B 324
3 C 320
4 D 328

加载ggplot2包并创建条形图

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

示例

> library(ggplot2)
> ggplot(df,aes(x,count))+geom_bar(stat="identity")

输出

使用scale_fill_manual创建条形图

示例

> ggplot(df,aes(x,count))+geom_bar(stat="identity")+scale_fill_manual(values=c("blue","green","grey","yellow"))

输出

这不会改变条形的颜色。

使用scale_fill_manual创建条形图,但在aes中传递条形的填充

示例

> ggplot(df,aes(x,count,fill=x))+geom_bar(stat="identity")+scale_fill_manual(values=c("blue","green","grey","yellow"))

输出

更新于:2020年11月19日

2K+浏览量

开启您的职业生涯

完成课程获得认证

开始学习
广告