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

如何为geom_smooth中不同分组的拟合线条设置不同颜色?

解决ggplot分组拟合线单独设置颜色的问题

你只需要去掉geom_smooth里手动设置的color = "black"和多余的group=group_var,让拟合线继承全局的color = group_var映射,再通过scale_color_manual自定义每组的颜色即可。这样点和对应分组的拟合线会使用一致的自定义颜色,完美区分Y/N组。

示例代码

data %>% 
  ggplot(aes(ind_var, dep_var, color = group_var)) +
  geom_point(alpha = 0.5, size = 2) +
  geom_smooth(method = "lm", size = 0.5) +
  scale_color_manual(values = c(
    "Y" = "darkblue",  # Y组拟合线和点设为深蓝色
    "N" = "darkred"    # N组拟合线和点设为深红色
  ))

额外说明

如果想让点和拟合线的色调有区分(比如点用亮蓝/亮红,线用深蓝/深红),可以通过降低点的透明度来突出深色拟合线:

data %>% 
  ggplot(aes(ind_var, dep_var, color = group_var)) +
  geom_point(alpha = 0.3, size = 2) +  # 降低点的透明度,让深色拟合线更醒目
  geom_smooth(method = "lm", size = 0.5) +
  scale_color_manual(values = c(
    "Y" = "darkblue",
    "N" = "darkred"
  ))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 04:35:20