2013-02-25 22 views
15

Chcę mapę z punktami (i innymi warstwami geom_ *) na niej. Mam mapę, ale zamiast punktów wszystko mam to ostrzeżenie:Uzyskiwanie mapy z punktami, używając ggmap i ggplot2

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

Oto powtarzalne exemple:

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 

Patrząc na wyjściu

ggplot_build(p) 

I zobacz warstwę z NA dla x i y, ale nie rozumiem, dlaczego dane z d nie są brane pod uwagę.

Używając ggplot() zamiast ggmap(), otrzymuję punkty. Ale ja potrzebuję mapę też :)

Tak, jak mogę uzyskać map z punkty nad nim?

Dzięki

Odpowiedz

18

Twoje wartości długości i szerokości geograficznej w geom_point() są w złej kolejności. lon powinny być wartościami x i wartościami lat jako y.

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

Wydaje się po prostu odwrócone długość i szerokość geograficzną:

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

Tak, byłem pewien, że istnieje proste rozwiązanie :) – Costin

+0

@Costin Proszę przyjąć odpowiedź Didzis Elferts' zamiast z mojego, myślę, że on odpowiedział pierwszy. – juba

+0

OK, widzę twoją wiadomość na pierwszym miejscu, ale jeśli tak powiesz, przyjmuję jego odpowiedź. Musisz być w tej samej sekundzie, chyba :) – Costin