Можно ли настроить текст p-значения в Survminer - PullRequest
1 голос
/ 23 января 2020

Я генерирую кривые выживания для использования в презентации, и в идеале я хотел бы настроить цвет текста значения p. Возможно ли это сделать? Я сделал пример с примерами данных, чтобы показать вам, что я сделал до сих пор. Все, что осталось, это цвет текста значения p до # 5A6469, но я попробовал почти все варианты, и он остался абсолютно черным! Спасибо за вашу помощь.

library(tidyverse)
library(survival)
library(survminer)

# theme using custom colour palette and with transparent background because the slides are grey
theme_kcl <- theme_classic() + theme(plot.title = element_text(colour = "#0A2D50", size = 16, hjust = 0.5), axis.title = element_text(colour = "#0A2D50", size = 14), axis.title.x = element_text(margin = margin(t = 10, r = 0, b = 0, l = 0)), axis.title.y = element_text(margin = margin(t = 0, r = 10, b = 0, l = 0)), axis.text = element_text(colour = "#5A6469", size = 12), legend.text = element_text(colour = "#5A6469", size = 12)) + theme(axis.ticks.x = element_line(colour = "#5A6469"), axis.ticks.y = element_line(colour = "#5A6469"), axis.line = element_line(colour = "#0A2D50")) + theme(panel.background = element_rect(fill = "transparent", colour = NA), plot.background = element_rect(fill = "transparent", colour = NA), legend.background = element_rect(fill = "transparent", colour = NA))

# Fit example data
fit<- survfit(Surv(time, status) ~ sex, data = lung)

# Draw survival curves
ggsurvplot(fit, palette = c("#C83296", "#009EA0"), pval = TRUE, legend = c(0.84, 0.8), legend.title = "", ggtheme = theme_kcl)

1 Ответ

1 голос
/ 23 января 2020

Да.

Начните с сохранения вашего графика в j

j <- ggsurvplot(fit, palette = c("#C83296", "#009EA0"), pval = FALSE, legend = c(0.84, 0.8), legend.title = "", ggtheme = theme_kcl)

Я изменил pval=FALSE, когда вы собираетесь добавить текст p-значения вручную.

Если вы необходимо выполнить проверку логарифмического ранга, чтобы оценить ваше значение p, просто наберите

survdiff(Surv(time, status) ~ sex, data = lung)

Затем

j$plot <- j$plot +
     annotate("text", x = 10, y = 15, label = "P-value", cex=3.3, col="darkgrey", vjust=0, hjust = 1.1, fontface=2)

j

Просто просто измените (x, y) -координаты. Редактируйте или оформляйте текст так, как вам нравится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...