使用ggmap和ggplot2获取包含点的地图

20

我想要一个地图,上面有点(以及其他的geom_*层)。我得到了地图,但是我只得到了一个警告,而不是点:

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

这里是一个可重现的示例:

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

在输出中查找。
ggplot_build(p)

我看到了一个带有x和y的NAs的层,但我不明白为什么d中的数据没有被考虑。
当使用ggplot()而不是ggmap()时,我确实得到了点。但我还需要地图 :)
那么,我该如何获得覆盖在地图上的点?
谢谢
2个回答

26
似乎您刚才颠倒了经度和纬度:
p <- ggmap(Lille)
p + geom_point(data=d, aes(x=lon, y=lat), color="red", size=30, alpha=0.5)

enter image description here


是的,我确信有一个简单的解决方案 :) - Costin
1
@Costin,请接受Didzis Elferts的答案,而不是我的,我认为他先回答了。 - juba
好的,我看到你的留言排在第一位,但如果你这么说,我会接受他的答案。我猜你们应该是同时回复的 :) - Costin

23

geom_point() 中的经度和纬度值顺序错误。应将 lon 作为 x 值,lat 作为 y 值。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接