You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:50:33