r - 为什么 ggsurvplot_facet 忽略 pval.size?
问题描述
为什么被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)
解决方案
简单的答案是 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)
推荐阅读
- c# - 找不到 HttpPostAttribute。-Asp.net 核心
- php - 使用 Ajax 和 Laravel 5.6 上传多张图片
- java - 需要帮助解决:无法反序列化;嵌套异常是 org.hibernate.type.SerializationException:无法反序列化
- mysql - 如何在 Mysql 中同时更新不同的行
- php - 寻路器打印类作为手风琴的内容
- http - Http 请求和 TCP 连接
- java - BitmapFactory:无法解码流:React Native 的 java.io.FileNotFoundException
- mysql - SQL Query 根据连接的存在有条件地从表中选择一行
- android - 使用支持版本 28.0.0-alpha3 设置错误时 TextInputLayout 提示颜色未更改
- codeigniter - 如何在codeigniter中的数据库中显示dropzone中的图像