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

R ggplot:重复测量设计中为不同组别设置不同折线颜色

解决ggplot重复测量折线图两组颜色不同的问题

你当前代码里把colour设为固定值#FC4E07,导致两条折线和误差线都用同一种颜色。要让两组呈现不同颜色,只需把colour映射到分组变量Condition即可,具体修改如下:

修改后的完整代码

ggplot(data = DataXY) +
  aes(x = Number, y = Score, group = Condition) +
  # 将colour放入aes中,绑定Condition变量
  stat_summary(aes(linetype = Condition, colour = Condition), 
               fun = mean, geom = "line", linewidth = 1) +
  # 误差线也绑定Condition,保证和对应折线同色
  stat_summary(aes(colour = Condition),
               fun.data = mean_sd, geom = "errorbar", width = 0.2) +
  scale_y_continuous(breaks = seq(from = -1, to = 8, by = 1)) +
  # 统一图例标题,避免出现两个Condition图例
  labs(x = "Number", y = "rating", colour = "Condition", linetype = "Condition") +
  # 可选:自定义两组的颜色,替换成你数据中Condition的实际取值
  scale_colour_manual(values = c("基线组" = "#FC4E07", "治疗组" = "#00AFBB")) +
  theme_bw() +
  theme(legend.position = "bottom",
        legend.direction = "horizontal",
        plot.title = element_text(hjust=0.5),
        text = element_text(size = 11, family = "Calibri")) 

关键修改点

  • 颜色映射分组:把colour从stat_summary的固定参数移到aes()内部,绑定Condition变量,ggplot会自动为不同组分配不同颜色。
  • 误差线同步颜色:误差线的colour同样绑定Condition,确保每组的折线和误差线颜色一致。
  • 自定义颜色(可选):用scale_colour_manual()可以指定你想要的颜色值,把代码里的组名替换成你数据中Condition的实际取值即可。
  • 合并图例:通过labs()把colour和linetype的图例标题设为相同,ggplot会自动合并成一个图例,避免重复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 18:53:31