我有体育数据集,显示球队的结果,赢或输,累积比赛和联赛常规。因此产生了一个简单的游戏位置图
df<- data.frame(played=c(1:5),
result=c("W","L","D","D","L"),
position=c(1,3,4,4,5))
ggplot() +
geom_line(data=df,aes(x=played,y=position)) +
scale_y_reverse()
我想在x轴上添加一个地毯,每个结果都有不同的颜色,比如W
是绿色,L
红色和D
,蓝色但似乎无法解决它使用geom_rug
或添加geom_bar
。
答案 0 :(得分:3)
这应该可以解决问题:
##The data frame df is now inherited by
##the other geom's
ggplot(data=df,aes(x=played,y=position)) +
geom_line() +
scale_y_reverse() +
geom_rug(sides="b", aes(colour=result))
在geom_rug
函数中,我们指定我们只想在底部使用地毯,并且我们应该根据结果对线条进行着色。要更改颜色,请查看scale_colour_*
函数。对于您的特定颜色,请尝试:
+ scale_colour_manual(values=c("blue","red", "green"))