如何修改ggsurvfit累积风险图X轴刻度且不影响风险表?
解决ggsurvfit主图与风险表X轴刻度独立设置的问题
要实现主累积风险图X轴显示1-10全刻度、风险表仅保留1/3/5三个时间点的需求,不要用全局的scale_x_continuous(),而是利用ggsurvfit专属的scale_ggsurvfit()函数,通过panel参数分别指定修改主图和风险表的X轴配置:
完整代码示例
library(ggsurvfit) library(survival) # 拟合生存模型 fit <- survfit(Surv(time, status) ~ sex, data = lung) # 绘图并分别设置主图与风险表的X轴刻度 ggsurvfit(fit, time = "time") + add_risktable() + # 设置主累积风险图的X轴断点为1-10 scale_ggsurvfit( panel = "main", x = list(breaks = seq(1, 10, 1)) ) + # 设置风险表的X轴断点为指定时间点 scale_ggsurvfit( panel = "risktable", x = list(breaks = c(1, 3, 5)) )
原理说明
scale_ggsurvfit()是ggsurvfit包专门用于调整绘图组件的函数,panel参数可精准定位要修改的部分:panel = "main":对应上方的主累积风险图panel = "risktable":对应下方的风险表
- 通过给不同panel的
x参数传入breaks配置,就能实现两个组件X轴刻度的独立设置,避免全局修改导致的风险表空间不足问题。
内容的提问来源于stack exchange,提问作者obgynfetalmedDK
相关产品推荐
相关产品推荐

