22

我有一系列有序点,如下所示: 在此处输入图像描述

但是,当我尝试通过线连接点时,我得到以下输出: 在此处输入图像描述

该图将 26 连接到 1,将 25 连接到 9 和 10(一些错误),而不是按照顺序。绘制点的代码如下:

p<-ggplot(aes(x = x, y = y), data = spat_loc)
p<-p + labs(x = "x Coords (Km)", y="Y coords (Km)") +ggtitle("Locations")
p<-p + geom_point(aes(color="Red",size=2)) + geom_text(aes(label = X))
p + theme_bw()

绘图代码:

p + 
geom_line((aes(x=x, y=y)),colour="blue") +
theme_bw()

包含位置的文件具有以下结构:

X    x    y
1    210  200 
.
.
.

其中 X 是数字 ID,x 和 y 是坐标对。

我需要做什么才能使线条遵循点的顺序?

4

1 回答 1

39

geom_path()将以原始顺序连接点,因此您可以按照您希望的方式对数据进行排序,然后只需执行+ geom_path(). 这是一些虚拟数据:

dat <- data.frame(x = sample(1:10), y = sample(1:10), order = sample(1:10))
ggplot(dat[order(dat$order),], aes(x, y)) + geom_point() + geom_text(aes(y = y + 0.25,label = order)) +
  geom_path()

在此处输入图像描述

于 2013-09-26T06:14:24.110 回答