R - изменить альфа-значение отдельных строк в ggsurvplot - PullRequest
2 голосов
/ 24 октября 2019

Это мой первый вопрос по переполнению стека, поэтому, пожалуйста, потерпите меня. Я пытаюсь изменить альфа отдельных строк в моем ggsurvplot, но я не совсем уверен, возможно ли это. Я уже нашел некоторые веб-сайты (например, http://www.rpubs.com/Mentors_Ubiqum/Transparent_Lines и http://www.sthda.com/english/wiki/print.php?id=177), но эти коды, похоже, не работают для ggsurvplot.

ggsurvplot(fit, data=ND,
           conf.int = FALSE,
           ggtheme = theme_classic(base_size = 13, base_line_size = 0.4, base_rect_size = 0.8),
           size = 2,
           palette=c("palevioletred1", "darkslategray1", "gold1", "palegreen3", "purple2","Dodgerblue1", "darkorange1","mediumseagreen"),
           alpha = c(0.2, 0.2, 0.2, 1, 0.2, 0.2, 0.2, 1),
           # censor= FALSE,
           censor.size=2,
           # censor.shape = c(124),

           legend="right", 
           legend.labs =c("I-PET1 neg", "I-PET2 neg", "I-PET3 neg", "I-PET4 neg", "I-PET1 pos", "I-PET2 pos", "I-PET3 pos", "I-PET4 pos"),
           legend.title = " ",
           xlab = "Time (months)",
           break.time.by = 12

)

Кто-нибудь знает, как это сделать? Кроме того,значения на осях x и y серые, и я хотел бы, чтобы они были черными. Есть предложения по этому поводу?

Большое спасибо!

1 Ответ

0 голосов
/ 24 октября 2019

не все из нас знакомы с типом данных, с которыми вы работаете. Например, мы не знали бы, что находится в «соответствии», и почему вы назвали различные параметры и т. Д. Следовательно, @teunbrand просит вас предоставить больше информации, а другие могут предоставить дополнительную помощь.

Альфа отсутствуетвариант внутри ггсурвплота. Самое простое решение - добавить альфу к указанным вами цветам, используя функцию альфа в ggplot2. Ниже приведен пример:

library("survminer")
library(gridExtra)
require("survival")
fit <- survfit(Surv(time, status) ~ sex, data = lung)

g1 = ggsurvplot(fit,
           conf.int = FALSE,
           palette=c("gold1", "palegreen3"),
           title="no alpha"
)
g2 = ggsurvplot(fit,
           conf.int = FALSE,
           palette=alpha(c("gold1", "palegreen3"),c(0.7,0.3)),
           title="alpha_0.7_0.3"
)
grid.arrange(g1$plot,g2$plot,ncol=2)

enter image description here

...