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

如何在ggscatter中按组着色散点并保留单条回归线

解决方案

直接调整代码逻辑,把分组着色的散点和整体回归线分开处理:

library(ggpubr)
df <- mtcars

ggscatter(df, x = "wt", y = "mpg",
          color = "cyl", palette = "jco",           # 散点按cyl分组着色、设置形状
          shape = "cyl"
          ) +
  stat_smooth(method = "lm", se = TRUE, color = "black") +  # 添加基于全部数据的回归线及置信区间
  stat_cor(label.x = 3)  # 添加整体数据的相关系数(若需保留分组系数,可重新加上`aes(color = cyl)`)

关键改动说明:

  • 移除原代码中的add = "reg.line"和conf.int = TRUE:ggpubr自带的add="reg.line"会继承color="cyl"的分组规则,自动生成多条回归线
  • 改用stat_smooth(method = "lm", se = TRUE)手动添加回归线:该函数默认使用全部数据拟合,不继承分组美学,se=TRUE对应原代码的置信区间需求
  • 若不需要分组的相关系数,移除stat_cor中的aes(color = cyl),即可显示整体数据的相关系数;如果仍需保留分组系数,可保留该参数,不影响整体回归线的展示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:50:15