2013-02-25 20 views
15

Voglio una mappa con punti (e altri strati geom_ *) su di essa. Ho la carta, ma invece dei punti tutto quello che ottiene è un avvertimento:Ottenere una mappa con punti, usando ggmap e ggplot2

Message d'avis : 
Removed 3 rows containing missing values (geom_point). 

Ecco un exemple riproducibile:

library(ggmap) 
library(ggplot2) 

d <- data.frame(lat=c(50.659631, 50.607213, 50.608129), 
       lon=c(3.09319, 3.011473, 3.031529)) 

Lille <- get_map("Lille,France", zoom=12) 

p <- ggmap(Lille) 
p <- p + geom_point(data=d, aes(lat, lon)) 
p 

Guardando nella produzione di

ggplot_build(p) 

I vedi un layer con NAs per xey, ma non capisco perché i dati da d non siano considerati.

Quando si utilizza ggplot() anziché ggmap(), ottengo i punti. Ma ho bisogno la mappa troppo :)

Quindi, come posso ottenere un mappa con punti su di esso?

Grazie

risposta

18

I suoi valori di longitudine e latitudine in geom_point() sono in ordine sbagliato. lon devono essere valori x e valori lat come valori .

p + geom_point(data=d, aes(x=lon, y=lat),size=5) 
21

Sembra appena invertita longitudine e latitudine:

p <- ggmap(Lille) 
p + geom_point(data=d, aes(x=lon, y=lat), color="red", size=30, alpha=0.5) 

enter image description here

+0

Sì, ero sicuro che ci sia una soluzione semplice :) – Costin

+0

@Costin Si prega di accettare la risposta Didzis Elferts' invece dei miei, penso che abbia risposto per primo. – juba

+0

OK, vedo il tuo messaggio elencato per primo, ma se lo dici, accetterò la sua risposta. Devi essere nello stesso secondo, immagino :) – Costin

Problemi correlati