我可以使用geom_rug将第三个变量添加到图表中吗?

时间:2013-01-02 20:15:24

标签: r ggplot2

我有体育数据集,显示球队的结果,赢或输,累积比赛和联赛常规。因此产生了一个简单的游戏位置图

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

1 个答案:

答案 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"))

enter image description here