如何修改R语言jtools包中effect_plot函数的置信区间颜色
解决方法
你不需要关闭interval参数,jtools的effect_plot()本身内置了置信区间样式的自定义参数,直接调用即可,是最简便的修改方式。
你之前的方法失效有两个核心原因:
- 将
interval设为FALSE后,effect_plot()不会输出回归边际效应对应的置信区间上下限数据,后续叠加的图层无法匹配目标区间 geom_smooth()的se参数是控制是否显示置信区间的逻辑值(仅接受TRUE/FALSE),不能直接传入颜色值;且该函数默认对图上的原始散点做局部拟合,和你model2的多元回归边际效应结果不一致,自然得不到正确的区间样式
修改后的完整代码如下:
# 预先定义配色 Dark_Blue = "#150563" Light_Blue = "#8ecff5" Grey = "#c2cacf" # 回归结果可视化 effect_plot(model2, pred = novelty, centered = FALSE, interval = TRUE, # 保留置信区间输出 colors = Dark_Blue, interval.fill = Light_Blue, # 指定置信区间填充色 interval.alpha = 0.3 # 可按需调整区间透明度,取值范围0-1 )+ ggtitle("Title") + geom_line(size = 1) + ylim(0,5)+ labs(x = "x.text", y= "y.text") + theme_minimal() + theme(text=element_text(family="Times", face="bold", size=14), plot.title = element_text(hjust = 0.5), axis.title.y = element_text(margin = margin(t = 0, r = 20, b = 0, l = 0)), axis.title.x = element_text(margin = margin(t = 20, r = 0, b = 0, l = 0)), )
如果需要调整置信区间的边框颜色,可额外添加interval.color参数传入对应色值即可。
内容的提问来源于stack exchange,提问作者Ollerpeter
相关产品推荐
相关产品推荐

