如何更改ggsurvplot中censor points(删失点)的颜色?
解决生存曲线删失点颜色无法修改的问题
方法1:统一设置所有删失点颜色
你的代码没生效是因为多组场景下,censor.col = 1只会给第一组删失点设黑色,其余组仍沿用曲线颜色。直接用字符串"black"就能让所有删失点统一变成黑色:
library(survival) library(survminer) fit <- survfit(Surv(time, status) ~ sex, data = lung) ggsurvplot( fit, data = lung, censor.col = "black" # 统一设置所有删失点为黑色 )
要是想给不同组的删失点单独设置颜色,传入对应组数的颜色向量即可:
ggsurvplot( fit, data = lung, censor.col = c("black", "darkred") # 第一组删失点黑,第二组深红 )
方法2:给删失点加轮廓(更直观区分)
如果不想改变删失点本身颜色,只想通过加轮廓和曲线拉开辨识度,可以用空心形状+黑色轮廓的组合:
p <- ggsurvplot( fit, data = lung, censor.shape = 1 # 使用空心圆形状 ) # 给删失点添加黑色轮廓 p$plot <- p$plot + geom_point(aes(group = sex), stroke = 1, color = "black") print(p)
也可以直接在ggsurvplot里通过参数一次性完成设置:
ggsurvplot( fit, data = lung, censor.shape = 1, surv.plot.args = list(geom_point.args = list(stroke = 1, color = "black")) )
内容的提问来源于stack exchange,提问作者Garrett Foster
相关产品推荐
相关产品推荐

