我在ggplot中使用配色方案时遇到困难。如果有人可以帮助我或将我发送到另一个问题,那将是很棒的。

我有类似的数据

day=rep(1:10, 5)
year=rep(1992:1996, each=10)
state=rep(c("A","B"), each=25)
set.seed(4)
y=runif(50, 5.0, 7.5)
df=data.frame(year,day,state,y)
> head(df)
  year day state        y
1 1992   1     A 6.464501
2 1992   2     A 5.022364
3 1992   3     A 5.734349
4 1992   4     A 5.693437
5 1992   5     A 7.033936
6 1992   6     A 5.651069


我想创建一个类似于下面的图。使用代码:

library(ggplot2)
p = ggplot(df, aes(day, y))
p = p + geom_line(aes(colour = factor(year)))
print(p)




我希望着色基于state变量。我希望状态“ A”的年份是一种颜色,状态“ B”的色彩是另一种颜色。

谢谢

最佳答案

如果您希望它用年份分隔但用状态标上颜色,则关键是使用group =参数:

ggplot(data=df, aes(x=day, y=y, group=year, colour=state)) +
  geom_line() +
  geom_point()

关于r - 根据ggplot中的第三个因素为线图着色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30082023/

10-12 04:42