如何在R语言swimplot包中手动自定义线条颜色?
自定义swimplot包游泳图的填充颜色
你可以通过添加scale_fill_manual()图层手动指定不同ARM分组的填充颜色,具体操作如下:
原代码
SwimArm <- swimmer_plot(df=Swim.Plot, id='SUBJID', end='swim_month', name_fill='ARM', id_order='ARM', col="black", increasing = FALSE, alpha=0.75,width=.8) + scale_y_continuous(name = "Time since Treatment (months)",breaks = seq(0,18,by=3))
修改后的自定义颜色代码
# 定义对应ARM分组的颜色向量,需与数据中ARM的类别一一对应 custom_colors <- c("实验组" = "#FF6B6B", "对照组" = "#4ECDC4", "安慰剂组" = "#FFE66D") SwimArm <- swimmer_plot(df=Swim.Plot, id='SUBJID', end='swim_month', name_fill='ARM', id_order='ARM', col="black", increasing = FALSE, alpha=0.75,width=.8) + scale_y_continuous(name = "Time since Treatment (months)",breaks = seq(0,18,by=3)) + # 添加手动指定填充颜色的图层 scale_fill_manual(values = custom_colors)
关键说明
- 若不清楚
ARM列的具体分组,可先用unique(Swim.Plot$ARM)查看,确保颜色向量的键与分组名称完全匹配 - 若无需绑定分组名称,也可直接传入颜色值向量,比如
values = c("#FF6B6B", "#4ECDC4", "#FFE66D"),颜色会按ARM分组的默认顺序对应 - 颜色支持十六进制代码、R内置颜色名两种格式
内容的提问来源于stack exchange,提问作者D. Shin
相关产品推荐
相关产品推荐

