1

为什么被pval.size忽略ggsurvplot_facet()

我正在尝试使用 更改生存图中 p 值文本的大小ggsurvplot_facet(),但调用pval.size似乎被忽略了。如果有人可以帮助我更改生存图中的 p 值大小,将不胜感激。

可重现的例子:

library(survival); library(survminer)

fit <- survfit( Surv(time, status) ~ sex, data = colon)

ggsurvplot_facet(fit, colon, facet.by = "rx", palette = "jco", pval = TRUE, pval.size = 20)

ggsurvplot_facet(fit, colon, facet.by = "rx", palette = "jco", pval = TRUE, pval.size = 1)
4

1 回答 1

3

简单的答案是 pval.size 不是这个函数中的命名参数,当你传入它时,函数不会对它做任何事情。

您必须更改函数的主体才能更改 pval 标签的大小。以下是如何创建一个采用 p 值大小参数的修改函数:

ggsurvplot_facet2 <- function(pval.size = 5, ...)
{
  newcall <- bquote(
    p <- p + geom_text(data = pvals.df, aes(x = pval.x, y = pval.y, 
    label = pval.txt), size = .(pval.size), hjust = 0)
    )

    body(ggsurvplot_facet)[[20]][[3]][[8]] <- newcall
    ggsurvplot_facet(...)
}

所以现在你可以这样做:

ggsurvplot_facet2(fit, colon, facet.by = "rx", palette = "jco", pval = TRUE, pval.size = 1)

这给出了这个:

在此处输入图像描述

然后你可以做

ggsurvplot_facet2(fit, colon, facet.by = "rx", palette = "jco", pval = TRUE, pval.size = 10)

这给出了这个: 在此处输入图像描述

于 2020-01-30T08:40:07.860 回答