将 ggsurvplot 中的绘图标题居中

Center the plot title in ggsurvplot

我正在努力使用 ggsurvplot 将我的情节标题放在中心...

我看到一些帖子提到了 xxxx$plot + theme(....) 但是这个解决方案似乎对我不起作用。

这是我的代码,也许你能看出我遗漏了什么:

surv_object_CA19.9 <- Surv(time = data_OS$OS_Days / 30, event = data_OS$Status.Death)
CA19.9_surv_fit <- survfit(surv_object_CA19.9 ~ CA19.9.initial_status, data = data_OS)

CA19.9_OS <- ggsurvplot(CA19.9_surv_fit, data = data_OS, pval = TRUE, xlab = "Time [Months]", 
           ylab = "Overall survival", risk.table = TRUE, legend.title = "", 
           risk.table.col. = "strata", risk.table.y.text = FALSE, surv.scale = "percent", 
           break.x.by = 6, xlim = c(0, 60), legend.labs = c("Pathological", "Normal"), 
           title = "Overall survival for patients with initially pathological or normal CA19-9 values", 
           CA19.9_OS$plot + theme(plot.title = element_text(hjust = 0.5)))

感谢您的帮助!我对 R 还是个新手,还不是特别熟悉,所以非常感谢任何提示!

一个相对简单的解决方案是定义您自己的 custom theme based off of the theme that is used in ggsurvplot(). Looking at the documentation 函数,向我们展示它是通过 ggtheme= 主题 theme_survminer() 应用的。我们可以创建一个自定义函数,使用 %+replace% 覆盖 theme_survminer():

中感兴趣的主题元素之一
custom_theme <- function() {
  theme_survminer() %+replace%
    theme(
      plot.title=element_text(hjust=0.5)
    )
}

然后,您可以通过与 ggsurvplot()ggtheme= 参数相关联来使用该主题:

library(ggplot2)
library(survminer)

require("survival")
fit<- survfit(Surv(time, status) ~ sex, data = lung)
ggsurvplot(fit, data = lung, title='Awesome Plot Title', ggtheme=custom_theme())