使用ggpubr包ggboxplot的fill参数传颜色向量时触发报错求助
解决ggpubr::ggboxplot fill参数传颜色向量报错问题
问题原因
ggboxplot的fill参数默认用于指定数据中的分组列名,而非直接传入颜色向量。直接传入c("red", "navy", "green")时,函数会将该向量当作数据列相关判断条件,触发内部if判断的长度不匹配错误。
正确解决方案
给不同分组的箱线图设置自定义填充色需分两步:
- 在
ggboxplot中把fill指定为分组变量(即你的x参数对应列"dose") - 用
scale_fill_manual()函数传入颜色向量,为每个分组分配对应颜色
示例代码
library(ggpubr) # 以ToothGrowth数据集为例(你的df结构应与此类似) df <- ToothGrowth # 正确设置填充色的代码 ggboxplot(df, x = "dose", y = "len", fill = "dose") + scale_fill_manual(values = c("red", "navy", "green"))
补充说明
若不需要显示图例,可在scale_fill_manual中添加guide = "none",或直接在ggboxplot里设置legend = "none"。
内容的提问来源于stack exchange,提问作者user2110417
相关产品推荐
相关产品推荐

