Obtenir une carte avec des points, en utilisant ggmap et ggplot2

je veux une carte avec des points (et d'autres geom_* couches). Je reçois la carte, mais au lieu de les points de tout ce que j'obtiens est un avertissement:

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

Voici un exemple reproductible:

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

en Regardant dans la sortie de

ggplot_build(p)

je vois une couche avec NAs pour x et y, mais je ne comprends pas pourquoi les données de d n'est pas considérée.

en utilisant ggplot () au lieu de ggmap (), j'obtiens les points. Mais j'ai besoin de la carte :)

alors, comment puis-je obtenir un carte points?

Merci

17
demandé sur Costin 2013-02-25 19:03:29

2 réponses

vos valeurs de longitude et de latitude en geom_point() sont dans le mauvais ordre. lon doit être x valeurs et laty valeurs.

 p + geom_point(data=d, aes(x=lon, y=lat),size=5)
19
répondu Didzis Elferts 2013-02-25 15:24:24

il semble que vous ayez inversé la longitude et la latitude:

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

enter image description here

21
répondu juba 2013-02-25 15:07:47