1

我正在尝试绘制行程长度分布(距离每增加 10 英里,我想找出该特定年份该箱中的行程百分比)。当我在 ggplot2 中绘制它时,我的 X 轴刻度标签按字母顺序排列,而不是按距离增加的顺序排列。我尝试使用建议的各种技巧(更改离散 x 比例的顺序),但没有得到任何结果。一个链接我的代码在下面,数据集在这里(http://goo.gl/W1jjfL)。

library(ggplot2)
library(reshape2)

nwpt <- subset(nonwork, select=c(Distance, PersonTrips1995, PersonTrips2001, PersonTrips2009))
nwpt <- melt(nwpt, id.vars="Distance") 

ggplot(data=nwpt, aes(x=Distance, y=value, group=variable, colour=variable)) +  scale_x_discrete(name="Distance") + geom_line(size=0.5) + ggtitle("Non Work Person Trips") + ylab("Percent") 

我检查了距离变量是否是一个因素,如下所示:

is.factor(nwpt$Distance) 1

但是,我得到的输出不是我想要的。而不是 10 英里以下是第一类,接下来是 10-14 英里等。我得到的情节如下图所示(此处为 PDF:http: //goo.gl/V7yvxT)。

在此处输入图像描述

任何帮助表示赞赏。TIA克里希南

4

1 回答 1

2

这是一种方法:

library(ggplot2)
library(reshape2)

nwpt <- subset(nonwork,
               select=c(DID,Distance,PersonTrips1995,PersonTrips2001,PersonTrips2009))
nwpt <- melt(nwpt, id.vars=c("DID","Distance")) 

ggplot(data=nwpt, aes(x=DID, y=value, colour=variable)) + 
  geom_line(size=0.5) + 
  labs(title="Non Work Person Trips", y="Percent") +
  scale_x_discrete(name="Distance", labels=nwpt$Distance) + 
  theme(axis.text.x=element_text(angle=90))

使用您的数据集生成:

于 2013-11-28T00:16:01.260 回答