20

I want a map with points (and other geom_* layers) on it. I get the map, but instead of the points all I get is a warning:

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

Here is a reproducible 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

Looking in the output of

ggplot_build(p)

I see a layer with NAs for x and y, but I do not get why the data from d is not considered.

When using ggplot() instead of ggmap(), I do get the points. But I do need the map too :)

So, how can I get a map with points over it?

Thanks

2 Answers 2

27

It seems you just inverted longitude and 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

Sign up to request clarification or add additional context in comments.

3 Comments

Yeah, I was sure that there is a simple solution :)
@Costin Please accept Didzis Elferts' answer instead of mine, I think he answered first.
OK, I see your message listed first, but if you say so I'll accept his answer. You must be in the same second, I guess :)
24

Your longitude and latitude values in geom_point() are in wrong order. lon should be as x values and lat as y values.

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.