2013-09-26 19 views
8

Ho una serie di punti in ordine come illustrato di seguito: enter image description hereggplot2 ordine trama linea

Tuttavia quando provo a collegare i punti da una linea, ottengo il seguente output: enter image description here

La trama sta collegando 26 a 1 e 25 a 9 e 10 (alcuni degli errori), invece di seguire l'ordine. Il codice per tracciare i punti è il seguente:

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

E per tracciare la linea sto solo usando: p + geom_line ((AES (x = x, y = y)), color = "blue") + theme_bw()

il file che contiene le posizioni hanno la seguente struttura:

X x y 
1 210 200 
. 
. 
. 

dove x è l'ID numerico e x ed y sono la coppia di coordinate.

Cosa devo fare per fare in modo che la linea segua l'ordine dei punti?

risposta

15

geom_path() si uniranno punti nell'ordine originale, quindi è possibile ordinare i dati nel modo in cui si desidera unire, e quindi basta fare + geom_path(). Ecco alcuni dati fittizi:

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

+0

funziona perfettamente. Grazie. – DotPi

Problemi correlati