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

R语言swimplot包绘制泳道图如何为各条形添加对应变量注释

错误原因

  • 坐标轴映射逻辑错误:swimplot生成的泳道图默认y轴为分类的患者id,x轴为时间数值,你原代码中x/y写反了
  • 变量引用方式错误:aes()内部引用数据框列不能加引号,同时需要指定geom_text关联的数据集

修正后代码

plot3 <- swimmer_plot(df=data ,id='id',end='daysuntildeath',
                      width=.85, name_fill="Drug.1", id_order="Drug.1") +
    scale_fill_manual(name="Drug.1", values = c("coral1", "lavenderblush4", "maroon4","springgreen3" , "springgreen4", "yellowgreen", "dodgerblue2"))
##################### 新增删失点标记 #############################
plot4 <- plot3 + swimmer_points(df_points=
                      data,id='id',time='daysuntildeath',name_shape =
                      'event',size=2.5,fill='white',col='black')
# 新增疗效注释:默认放在泳道末端右侧,可调整偏移量修改位置
p4_new = plot4 + scale_y_discrete(expand = c(0.15,0)) + labs(y = "Days until death") +
  geom_text(data = data, aes(x = daysuntildeath + 5, y = id, label = Best.response.1), 
            hjust = 0, colour = "black", size = 3)

调整说明

  • 代码中x = daysuntildeath + 5是给注释加了5天的偏移量,避免和删失点重叠,可根据实际图的宽度调整偏移数值
  • 如果需要把注释放在泳条中间,把x参数改为daysuntildeath/2即可
  • 全程未修改原id刻度和原有变量设置,仅新增了疗效注释内容

内容的提问来源于stack exchange,提问作者Erin Sprünken

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:51:02