如何移除ggsurvplot_facet()中的多余图例并合并图例?
合并ggsurvplot_facet生存曲线的图例
要合并ggsurvplot_facet生成的分面生存曲线图例,你可以通过以下两种方式实现:
方法一:直接在函数参数中设置全局图例
修改代码,添加legend.position参数指定图例位置(比如底部、右侧),即可自动合并所有分面的图例为单个全局图例:
library(survival) library(survminer) s_ex <- Surv(diabetic$time, diabetic$status) sfit_ex <- survfit(Surv(time, status)~eye, data = diabetic) ggsurvplot_facet( sfit_ex, diabetic, facet.by = "laser", short.panel.labs = TRUE, legend.title = "Eye", linetype = "eye", legend.position = "bottom" # 指定图例位置,自动合并 )
方法二:提取ggplot对象后修改图例
如果需要更灵活的图例调整,可以先保存ggsurvplot_facet的结果,提取其中的ggplot绘图对象,再通过theme()和guides()函数自定义图例:
# 生成分面生存曲线 p <- ggsurvplot_facet( sfit_ex, diabetic, facet.by = "laser", short.panel.labs = TRUE, legend.title = "Eye", linetype = "eye" ) # 修改图例位置与样式 p$plot + theme(legend.position = "right") + # 设置图例位置 guides( linetype = guide_legend(title = "Eye"), # 统一线型图例标题 color = guide_legend(title = "Eye") # 统一颜色图例标题(如果有颜色映射) )
调整后,所有分面的图例会合并为一个,显示在你指定的位置(如底部、右侧)。
内容的提问来源于stack exchange,提问作者Teagan P
相关产品推荐
相关产品推荐

