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

ggplot2中geom_smooth无法控制SE边界样式,如何绘制目标误差边际图?

解决ggplot2中geom_smooth误差边际(SE)边界的线型与线宽自定义问题

默认情况下,geom_smooth无法直接单独控制误差边际(SE)边界的线型和线宽属性,不过可以通过拆分图层的方式实现需求,你提供的重复计算法已经是很简便的方案,这里补充细节说明:

核心思路是把拟合线和SE边界分开绘制:先用geom_smooth绘制不带SE的拟合实线,再用stat_smooth指定geom='ribbon',通过设置fill=NA只保留SE的边界线,进而自定义它的线型、颜色和线宽。

完整代码示例:

library(tidyverse)

ggplot(data = mpg, aes(x = displ, y = hwy)) +
  geom_point() +
  # 绘制黑色线性拟合实线(关闭SE显示)
  geom_smooth(method = "lm", se = FALSE, color = "black") +
  # 绘制SE的蓝色虚线边界,填充设为NA仅保留边框
  stat_smooth(method = "lm", 
              geom = "ribbon",
              fill = NA,
              linetype = 2,  # 设为虚线
              linewidth = 0.8,  # 可按需调整线宽
              se = TRUE, 
              color = "blue")

这种方式利用stat_smooth的统计计算能力,分别生成两个独立图层,避开了默认geom_smooth中拟合线与SE边界属性绑定的限制,实现对SE边界样式的完全自定义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 21:22:41