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

R语言ggplot设置指定分组颜色、其余同色并合并图例标签

# 加载依赖包
library(ggplot2)

# 示例数据
df = data.frame(fc_col = c(rep('apple',3),rep('orange',3),rep('banana',3)),
                var1 = c(rep(1:3,3)),
                var2 = c(20,10,5,30,15,2,40,27,8))

# 构造颜色映射规则
# 如果fc_col是因子类型,把unique(df$fc_col)替换为levels(df$fc_col)即可
all_groups <- unique(df$fc_col)
color_map <- setNames(rep("blue", length(all_groups)), all_groups)
color_map["apple"] <- "black"
# 补充图例统一标签对应的颜色
color_map["fruits"] <- "blue"

# 绘图代码
ggplot(data=df, aes(x=var1, y=var2, colour = fc_col)) +
  geom_line() +
  scale_color_manual(
    values = color_map,
    breaks = c("apple", "fruits"),
    labels = c("apple", "fruits"),
    name = "分组" # 可自行修改图例标题,不需要可删除该行
  )

方案说明

  • 自动批量匹配所有分组颜色:仅将apple设为黑色,其余所有分组统一设为蓝色,即使分组数多达数百个也不需要手动逐个配置,自动适配
  • 图例自动合并:通过breaks参数控制仅展示apple和统一命名的fruits两个图例条目,其余分组不会单独出现在图例中
  • 非apple分组的线条仍然保持独立,不会被合并为单条线,仅颜色统一为蓝色,完全匹配需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:36:04