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

如何合并ggsurvplot与ggplot生成的两个生存分析图?

合并ggsurvplot与ggplot生成的图像

首先要明确:ggsurvplot()返回的不是单纯的ggplot对象,而是一个包含多个组件的列表,其中核心的生存曲线图存在$plot字段里,必须先提取这个字段,才能和普通ggplot对象合并。下面提供两种常用的合并方法:

方法1:用patchwork包(语法简洁,推荐)

  1. 先安装并加载patchwork包:
install.packages("patchwork")
library(patchwork)
  1. 提取生存曲线的ggplot对象,再和p2合并:
# 提取p1里的ggplot对象
p1_plot <- p1$plot
# 横向排列两个图
p1_plot + p2
# 要是想纵向排列,换成下面的写法
# p1_plot / p2

还可以给组合图加总标题,比如:

(p1_plot + p2) + plot_annotation(title = "生存曲线与拟合曲线组合图")

方法2:用gridExtra包

  1. 安装加载gridExtra包:
install.packages("gridExtra")
library(gridExtra)
  1. 用grid.arrange()函数完成合并:
p1_plot <- p1$plot
# ncol=2表示横向排列,改成nrow=2就是纵向排列
grid.arrange(p1_plot, p2, ncol = 2)

关键提醒

别直接用p1去合并,必须提取p1$plot,不然会因为对象类型不匹配报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 05:52:40