我很难在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'中的年份是另一种颜色。
谢谢
答案 0 :(得分:7)
如果您希望它按年份分隔,但按状态着色,则键是使用group =参数:
ggplot(data=df, aes(x=day, y=y, group=year, colour=state)) +
geom_line() +
geom_point()