[英]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.