Ggplot2 строка сюжетный заказ

У меня есть ряд упорядоченных точек, как показано ниже: enter image description here

Однако, когда я пытаюсь соединить точки линией, я получаю следующий вывод: enter image description here

Сюжет соединяет 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 - числовой идентификатор, а x и y - пара координат.

Что мне нужно сделать, чтобы линия следовала за порядком точек?

Ответ 1

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

enter image description here