我的问题是我分组并分配给color的变量是一个连续变量(从 1:10 开始的数字),因此颜色将是渐变的。但是我需要每个组都是不同的颜色而不是渐变。我将如何实现这一目标?代码和结果如下。Date 变量也在下面。
library(ggplot2)
Date <-
c("12/31/2021", "12/31/2022", "12/31/2023", "12/31/2024", "12/31/2025",
"12/31/2026", "12/31/2027", "12/31/2028", "12/31/2029", "12/31/2030",
"12/31/2031", "12/31/2032")
a <- data.frame(id = rep(c(1,2,3),4), date = Date, income = rnorm(12, 60000, 15000))
a$date <- as.Date(a$date,"%m/%d/%Y")
ggplot(a,aes(x = date,y = income,group = id, color = id)) +
geom_line(size = 0.5)
Run Code Online (Sandbox Code Playgroud)
正如评论中已经提到的,您可以as.factor在颜色参数中使用。
要定义所使用的颜色,您可以使用scale_colour_manual自己指定颜色或使用该colorRampPalette函数。
ggplot(a,aes(x = date,y = income,group = id, color = as.factor(id))) +
geom_line(size = 0.5)
ggplot(a,aes(x = date,y = income,group = id, color = as.factor(id))) +
scale_colour_manual(values=c("green","red","blue")) +
geom_line(size = 0.5)
gs.pal <- colorRampPalette(c("red", "blue"))
ggplot(a,aes(x = date,y = income,group = id, color = as.factor(id))) +
scale_colour_manual(values=gs.pal(length(unique(a$id)))) +
geom_line(size = 0.5)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2621 次 |
| 最近记录: |