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

如何修改ggplot结合patchwork绘制的组合箱线图的图例标签

问题原因

你的图例由color美学映射生成,修改x轴相关的scale_x_discrete不会对图例生效,你之前调用scale_color_manual仅指定了颜色,没有配置图例标题和取值标签,因此没有达到修改效果。

可选解决方法

两种方案任选其一即可:

  • 方案1:提前预处理数据(推荐,一劳永逸)
    先将control_case列转为因子,直接指定水平对应的标签,后续所有映射都会自动读取标签:

    asthma_desc$control_case <- factor(
      asthma_desc$control_case,
      levels = c(1, 2),
      labels = c("control", "case")
    )
    

    之后在全局配置中补充labs(color = "Group")即可修改图例标题。

  • 方案2:直接修改现有scale_color_manual配置(无需改动原始数据)
    在你现有的全局scale_color_manual调用中增加name和labels参数,如果担心取值顺序对应错误,可以用键值对形式明确匹配,修改后的完整组合代码如下:

    patchwork <- plot_mac + plot_lym + plot_neu + plot_mast + plot_eos + plot_layout(guides = 'collect') 
    
    patchwork & theme_minimal() & 
      scale_color_manual(
        name = "Group", # 自定义图例标题
        labels = c("1" = "control", "2" = "case"), # 明确匹配原始取值和展示标签
        values = c("black", "red")
      ) & 
      theme(axis.title.x = element_blank(), axis.ticks.x=element_blank(), axis.text.x=element_blank(), text=element_text(size=7)) & 
      ylim(0,100)
    

    执行上述代码后,收集到的统一图例就会自动更新为你需要的样式。

内容的提问来源于stack exchange,提问作者Elena

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:15:01