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

如何用R ggplot合并A、B模型的箱线图并按Length条件给散点着色

问题原因

你将颜色判断逻辑放在了ggplot()的全局 aesthetic 映射中,导致geom_boxplot也会按照Length >= 250的规则对数据进行分组,因此每个模型下拆分出了2个箱线图。同时注意原数据集的长度列名是首字母大写的Length,原代码中写的小写length会出现变量识别错误,另外原有颜色判断逻辑写反了,会导致Length >=250的点标记为黑色,不符合需求。

修正代码

scattertest %>%
  pivot_longer(cols = -Length, names_to = "Model", values_to = "Delta") %>%
  ggplot(aes(x = Model, y = Delta)) +
  geom_boxplot() +
  # 仅在散点层添加颜色映射,调整颜色规则匹配需求
  geom_jitter(aes(color = ifelse(Length >= 250, "red", "black"))) +
  scale_color_identity()

效果说明

调整后箱线图不会受颜色分组逻辑影响,每个模型仅生成1个箱线图,同时仅散点会按照Length的数值条件着色,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

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