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

如何在同一ggplot2图中基于同一数据集绘制多条回归模型曲线?

实现方案

完全可以实现该需求,你只需在geom_smooth和stat_poly_eq图层中单独指定对应子集的数据源,即可为n=5、n=8、n=10三个分组分别生成回归线和对应的统计标签。

操作说明

  1. 提前标记数据集里每条观测所属的样本量分组,或者直接筛选出三个样本量对应的子集
  2. 每个分组的回归线和统计公式单独做一个图层,指定对应的数据子集,可设置不同颜色区分分组,同时调整公式标签位置避免重叠

参考代码

# 替换为你自己的全数据集名称,提前筛选三个样本量子集
n5_df <- 全数据集[全数据集$样本量列 == 5, ]
n8_df <- 全数据集[全数据集$样本量列 == 8, ]
n10_df <- 全数据集[全数据集$样本量列 == 10, ]

# 完整绘图代码,替换x/y为你自己的变量名
ggplot(全数据集, aes(x = Log_antibodies_GTM, y = Vaccine_efficacy)) +
  # 原有全数据集散点图层
  geom_point(aes(fill = Vaccine), pch = 21, color = 'black', size = 4) +
  scale_fill_manual(values = color_list3) +
  # 分别为三个子集添加回归线,设置不同颜色便于区分
  geom_smooth(data = n5_df, method='lm', se=F, color="#E41A1C", size = 0.5) +
  geom_smooth(data = n8_df, method='lm', se=F, color="#377EB8", size = 0.5) +
  geom_smooth(data = n10_df, method='lm', se=F, color="#4DAF4A", size = 0.5) +
  # 分别为三个子集添加回归方程和R²标签,调整y坐标避免重叠
  stat_poly_eq(data = n5_df, formula = y ~ x, 
               aes(label = paste("n=5: ", ..eq.label.., ..rr.label.., sep = "~~~")), 
               parse = TRUE, y = 0.95) +
  stat_poly_eq(data = n8_df, formula = y ~ x, 
               aes(label = paste("n=8: ", ..eq.label.., ..rr.label.., sep = "~~~")), 
               parse = TRUE, y = 0.9) +
  stat_poly_eq(data = n10_df, formula = y ~ x, 
               aes(label = paste("n=10: ", ..eq.label.., ..rr.label.., sep = "~~~")), 
               parse = TRUE, y = 0.85) +
  # 原有主题与坐标轴配置
  theme_classic() +
  theme(legend.title = element_text(face = "bold", hjust = 0.5),
        legend.background = element_blank(),
        legend.box.background = element_rect(colour = "black")) +
  coord_capped_cart(bottom = 'both', left = 'both') +
  labs(x = 'Log antibodies (GTM)', y = 'Vaccine efficacy') 

注意事项

  • 如果你需要散点也按样本量分组展示样式,可同样给geom_point指定子集数据源,调整颜色、形状等映射参数
  • 不想提前保存子集的话,也可以直接在图层的data参数里写筛选逻辑,比如data = ~.x[.x$样本量列 ==5,]
  • 回归公式的y坐标可以根据你的图实际y轴范围调整,也可以用vjust参数微调垂直位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:18:02