R 更改ggplot中的线条颜色

R 更改ggplot中的线条颜色,r,ggplot2,R,Ggplot2,我有这个数据框: dftt <- data.frame(values = runif(11*4,0,1), col = c(rep(2,4), rep(1,4), rep(5,9*4)), x= rep(1:4, 11*4), group=rep(factor(1:11), each=4)

我有这个数据框:

dftt <- data.frame(values = runif(11*4,0,1),
                 col = c(rep(2,4),
                         rep(1,4),
                         rep(5,9*4)),
                 x= rep(1:4, 11*4),
                 group=rep(factor(1:11), each=4)
                 )

> head(dftt)
     values col x group
1 0.2576930   2 1     1
2 0.4436522   2 2     1
3 0.5258673   2 3     1
4 0.2751512   2 4     1
5 0.5941050   1 1     2
6 0.7596024   1 2     2


如何更改线条颜色,我希望前两条线条为黑色和红色(在上面的绘图中,它们都是黑色),其余的线条为灰色(它们是浅蓝色)?

是否有理由尝试通过col添加颜色?我觉得这很奇怪,因为col的值比group的值少。如果您只想为组着色,这将是正确的方法:

  ggplot(dftt, aes(x=x, y=values, group=group, color=group)) + 
  geom_line() +
  scale_color_manual(values = c("black",
                                "red",
                                rep("gray", 9)))

您甚至尝试通过col添加颜色,有什么原因吗?我觉得这很奇怪,因为col的值比group的值少。如果您只想为组着色,这将是正确的方法:

  ggplot(dftt, aes(x=x, y=values, group=group, color=group)) + 
  geom_line() +
  scale_color_manual(values = c("black",
                                "red",
                                rep("gray", 9)))

转换为因子,然后将
比例_颜色_手动
添加到绘图函数中

library(ggplot2)
dftt$col<-as.factor(dftt$col)

ggplot(dftt, aes(x=x, y=values, group=group, color=col)) + geom_line(size=1.2) +
  scale_color_manual(values=c( "black", "red", "blue"))
库(ggplot2)

dftt$col将
col
列转换为因子,然后将
scale\u color\u manual
添加到绘图函数中

library(ggplot2)
dftt$col<-as.factor(dftt$col)

ggplot(dftt, aes(x=x, y=values, group=group, color=col)) + geom_line(size=1.2) +
  scale_color_manual(values=c( "black", "red", "blue"))
库(ggplot2)
dftt$col