gpt4 book ai didi

r - 如何摆脱渐变并在ggplot中使用单独的颜色?

转载 作者:行者123 更新时间:2023-12-04 20:28:58 25 4
gpt4 key购买 nike

我的问题是我分组并分配给 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)

enter image description here

最佳答案

正如评论中已经提到的,您可以使用 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)

关于r - 如何摆脱渐变并在ggplot中使用单独的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51350049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com