更改 ggsurvplot 的 x 轴标签

Change x-axis labels for ggsurvplot

library(survival)
library(survminer)

我正在使用 survminer 包绘制未经调整的 Kaplan Meier 图。我正在计算比较不同暴露的死亡率,我有一个非常具体的问题: 有没有办法更改 ggsurvplot 的 x 轴标签? 在我的例子中,我想用 30 替换时间点 0,用 50 替换时间点 20,用 70 替换时间点 40,用 90 替换时间点 60 .

我使用以下代码创建我的 ggsurvplot:

fit31to90_Mortality <- survfit(msurv31to90DayMortality~Bacteria_Category, data = 

Mortality_31to90_Days_Plot <- 
ggsurvplot(fit31to90_Mortality, xlim = c(0,60), 
break.x.by = 20, xlab = "Day", ylab = c("Survival probability"), 
risk.table = "abs_pct", font.x = c(26, face = "bold"), 
font.y = c(26, face = "bold"), font.tickslab = c(24), 
font.legend = c(24), risk.table.fontsize = 7, risk.table.col = "black", size = 1) 
Mortality_31to90_Days_Plot$plot

您可以通过为绘图对象添加对 scale_x_continuous 的调用来更改 x 标签。

由于您没有提供可重现的数据,我们使用 package documentation:

中的示例图
tdata <- data.frame(time  =c(1,1,1,2,2,2,3,3,3,4,4,4),
                    status=rep(c(1,0,2),4),
                    n=c(12,3,2,6,2,4,2,0,2,3,3,5))
fit  <- survfit(Surv(time, time, status, type='interval') ~1,
                data=tdata, weight=n)
myplot <- ggsurvplot(fit, xlim = c(0,60), 
                     break.x.by = 20, xlab = "Day", ylab = c("Survival probability"), 
                     risk.table = "abs_pct", font.x = c(26, face = "bold"), 
                     font.y = c(26, face = "bold"), font.tickslab = c(24), 
                     font.legend = c(24), risk.table.fontsize = 7, risk.table.col = "black", size = 1) 

现在您可以使用具有新的连续 x 轴的副本重新分配 $plot

myplot$plot <- myplot$plot + 
                  scale_x_continuous(breaks = c(0,20,40,60),
                                     labels = c(30,50,70,90))
myplot$plot