求助:为ggplot与facet_wrap生成的双直方图添加颜色
为分面直方图添加颜色的解决方案
你遗漏了填充色(fill)的映射/设置以及可选的柱子边框色(color),目标图里的直方图是按性别区分填充色且带有白色边框的,修改后的代码可以实现对应效果:
方法1:自动按性别映射颜色
ObesityDataSet_raw_and_data_sinthetic %>% ggplot(aes(x = Height, fill = Gender)) + geom_histogram(bins = 14, color = "white") + facet_wrap(~Gender)
方法2:手动指定对应配色(匹配目标图)
如果想精准对齐目标图的蓝、红配色,可以手动设置颜色值:
ObesityDataSet_raw_and_data_sinthetic %>% ggplot(aes(x = Height, fill = Gender)) + geom_histogram(bins = 14, color = "white") + facet_wrap(~Gender) + scale_fill_manual(values = c("Female" = "#619CFF", "Male" = "#F8766D"))
关键修改点说明
- 在
aes中添加fill = Gender:将性别变量绑定到填充色,让每个分面的直方图自动匹配对应性别的颜色 color = "white":给柱子添加白色边框,避免柱子粘连,和目标图的视觉效果一致scale_fill_manual:自定义男女对应的填充色,可根据需求调整颜色代码
内容的提问来源于stack exchange,提问作者Dampkey
相关产品推荐
相关产品推荐

