2

我正在做一个数据可视化项目,正在制作一些折线图。这是我的数据集:

groupA <- read.csv("afcongroupA.csv", header=T, row.names=NULL)
groupA
    Date               Team Position
1   1/12       South Africa       56
2   1/12             Angola       85
3   1/12            Morocco       61
4   1/12 Cape Verde Islands       58
5   4/12       South Africa       71
6   4/12             Angola       78
7   4/12            Morocco       62
8   4/12 Cape Verde Islands       76
9   8/12       South Africa       67
10  8/12             Angola       85
11  8/12            Morocco       68
12  8/12 Cape Verde Islands       78
13 12/12       South Africa       87
14 12/12             Angola       84
15 12/12            Morocco       72
16 12/12 Cape Verde Islands       69

然后我将它们绘制在折线图上,以显示排名下降的上升趋势:

groupA$Date <- factor(groupA$Date, levels=groupA$Date[!duplicated(groupA$Date)])
ggplot(groupA, aes(x=Date, y=Position, colour=Team, group=Team)) + geom_line()

我想要做的是反转 y 轴,使最大的数字位于底部。我尝试了这段代码:

groupA <- coord_flip() + scale_x_reverse()

但我收到此错误消息:

Error in coord_flip() + scale_x_reverse() : 

二元运算符的非数字参数

我在运行 OS X 的 Mac 上使用 R 2.15.2。

4

1 回答 1

2

由于您的专栏Date是一个因素,因此scale_x_reverse()将无法正常工作。一种解决方案是在数据框中订购您的因素水平

groupA$Date <- factor(groupA$Date, levels=rev(unique(groupA$Date)))

然后只需使用您的代码来制作绘图和翻转轴。

ggplot(groupA, aes(x=Date, y=Position, colour=Team, group=Team)) +
      geom_line()+coord_flip()
于 2013-01-21T10:13:30.817 回答