3

我有运动数据集,它显示了球队的结果、输赢、累积比赛和联赛排名。这样就产生了一个简单的游戏位置图

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.

4

1 回答 1

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

在此处输入图像描述

于 2013-01-02T20:22:08.053 回答