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

如何在ggplot2中为指定线条设置自定义颜色

解决方案

你可以通过给ggplot添加颜色映射,再手动指定颜色取值实现需求,修改后的完整代码如下:

library('reshape2')
library('ggplot2')

times <- seq(100, 1000, by=100)
values <- data.frame(runif(10), runif(10), runif(10))
mean <- rowMeans(values)
df <- data.frame(times, values, mean)
names(df)=c("time", 1:3, 'means')

melted = melt(df, id.vars = "time", value.name="values",
              variable.name="class")

# 此处为修改部分
plot <- ggplot(data=melted, aes(x=time, y=values, group = class, color = class)) + 
  geom_line() + 
  # 手动指定每个class对应的线条颜色
  scale_color_manual(values = c("1" = "gray", "2" = "gray", "3" = "gray", "means" = "red")) +
  labs(y= "Values", x = "Time")

# 输出绘图结果
print(plot)

代码修改说明

  • 在aes()参数中新增color = class,将线条颜色和class变量绑定,支持按类别自定义颜色
  • 新增scale_color_manual()配置项,直接指定每个类别对应的颜色值,你也可以将gray替换为gray50、darkgray等不同深浅的灰色参数调整效果
    如果不需要显示颜色图例,可以在scale_color_manual后添加+ theme(legend.position = "none")关闭图例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:57:04