You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为ggplot箱线图设置不同填充颜色?附现有R代码

给不同分组的箱线图设置自定义填充色

没问题,要实现给三个inst分组的箱线图设置不同填充色,只需要调整ggplot的颜色映射逻辑就行,下面是修改后的完整代码和说明:

修改后的完整代码

# 计算前后差值
Teeth <- caries$after - caries$before

# 双因素方差分析
anova <- aov(Teeth~inst * treat, data=caries)
summary(anova)

# 带自定义填充色的箱线图
ggplot(data = caries, aes(x=inst, y=Teeth, group=inst, fill=inst)) + 
  geom_boxplot(colour = "black") +
  # 手动指定三个分组的填充色,可自行替换
  scale_fill_manual(values = c("coral", "dodgerblue", "seagreen"))

关键修改点说明

  • 把fill=inst移入aes()函数中:这样ggplot会识别inst是分组变量,自动为每个不同的inst水平分配独立的填充色
  • 使用scale_fill_manual()自定义颜色:你可以把values里的颜色换成任何你喜欢的颜色名称或十六进制颜色码(比如"#FF5733"),顺序要和inst的水平顺序对应
  • 可选:如果不想手动指定颜色,也可以用内置调色板,比如替换成scale_fill_brewer(palette = "Set2")或者scale_fill_viridis_d(),快速生成美观的配色

如果你的inst变量还不是因子类型,先执行caries$inst <- factor(caries$inst)转换一下,确保每个分组都能正确匹配颜色。

内容的提问来源于stack exchange,提问作者Kristen Felohz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:52:34