簡體   English   中英

更改 r 中 ggcompetingrisks 圖中的圖例標簽

[英]Change legend labels in ggcompetingrisks plot in r

我使用cmprsk::cuminc制作了累積發生率圖,然后使用ggcompetingrisks進行繪圖。 我想更改組的圖例標簽。 我試過legend.lab = c("A", "B", "C") 當我在沒有競爭風險的情況下進行ggsurvplot時,這有效。 但它現在不起作用。 有什么建議?

我的代碼是這樣的:

    fit <- cuminc(df$Time, df$Event, group = df$genotype)

    p <- ggcompetingrisks(fit, multiple_panels = FALSE, palette = "black",
                          legend.title = c("genotype"),
                          legend.labs = c("A", "B", "C"))

問題是圖例同時顯示了事件 (0, 1) 和組 (1, 2, 3)。 我只想在圖例中顯示該組,我希望將其命名為 A、B 和 C..

請幫我!!

如果我的擬合正確,組將被繪制為線型,因此您可以使用scale_linetype_manual()設置圖例的標題和名稱。 要關閉有關事件的其他圖例,您可以使用 guides()

請參閱以下使用一些模擬數據的示例:

library(survminer)
library(ggplot2)
library(cmprsk)

df = data.frame(
Time = rexp(100),
genotype = factor(sample(1:3,100,replace=TRUE)),
Event = factor(sample(0:1,100,replace=TRUE),0:1,c('no event', 'death'))
)

fit <- cuminc(df$Time, df$Event, group = df$genotype)

ggcompetingrisks(fit)
p <- ggcompetingrisks(fit, multiple_panels = FALSE)

p + scale_linetype_manual(name="genotype",values=1:3,labels=c("A","B","C"))+
guides(col="none")

如果我上面的 df 與您的不同,請執行 dput(df) 並將輸出粘貼為您的問題的一部分。 這樣其他人也可以提供幫助。

如果您需要更粗的線條,請執行以下操作:

old_geom <- ggplot2:::check_subclass("line", "Geom")$default_aes
update_geom_defaults("line", list(size = 1.5))
p + scale_linetype_manual(name="genotype",values=1:3,labels=c("A","B","C"))+
    guides(col="none")
update_geom_defaults("line", list(size = old_geom$size))

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM