如何合并ggsurvplot与ggplot生成的两个生存分析图?
合并ggsurvplot与ggplot生成的图像
首先要明确:ggsurvplot()返回的不是单纯的ggplot对象,而是一个包含多个组件的列表,其中核心的生存曲线图存在$plot字段里,必须先提取这个字段,才能和普通ggplot对象合并。下面提供两种常用的合并方法:
方法1:用patchwork包(语法简洁,推荐)
- 先安装并加载patchwork包:
install.packages("patchwork") library(patchwork)
- 提取生存曲线的ggplot对象,再和p2合并:
# 提取p1里的ggplot对象 p1_plot <- p1$plot # 横向排列两个图 p1_plot + p2 # 要是想纵向排列,换成下面的写法 # p1_plot / p2
还可以给组合图加总标题,比如:
(p1_plot + p2) + plot_annotation(title = "生存曲线与拟合曲线组合图")
方法2:用gridExtra包
- 安装加载gridExtra包:
install.packages("gridExtra") library(gridExtra)
- 用
grid.arrange()函数完成合并:
p1_plot <- p1$plot # ncol=2表示横向排列,改成nrow=2就是纵向排列 grid.arrange(p1_plot, p2, ncol = 2)
关键提醒
别直接用p1去合并,必须提取p1$plot,不然会因为对象类型不匹配报错。
内容的提问来源于stack exchange,提问作者Deepthy Gs
相关产品推荐
相关产品推荐

