我无法在现有的geom_map上添加geom_point,“行数不同”吗?

时间:2019-01-25 18:41:32

标签: r ggplot2 mapping gis

我正在尝试使用ggplot2和geom_map制作地图,但是我在做一件容易的事时遇到了麻烦……在顶部添加一组坐标!

这是我的底图代码的第一部分,基于我已经作为mapbasis加载的shapefile:

p1<-ggplot(mapbasis,aes(long,lat,map_id=id,fill=id))+
  geom_map(map=mapbasis)

This works as expected:

为了测试代码,我现在创建一个只有一些坐标的数据框:

test<-data.frame(pointid=c(1,2,3),lat=c(53, 51, 50),lon=c(-0.2, -0.1, -1.4))

然后我尝试按如下所示添加点:

p1+geom_point(aes(x=lon,y=lat),size=10,data=test)

然后,我得到的不是错误信息,而不是上面有三个点的地图:

Error in data.frame ... arguments imply differing number of rows: 3,0

这是怎么回事?我显然同时拥有经度和纬度坐标。我还尝试过仅绘制test对象,并且效果很好。

有人可以建议出什么问题吗?

1 个答案:

答案 0 :(得分:0)

@TinglTanglBob提供的答案

使用Inherited.aes = FALSE可以防止在geom_map中定义的原始美感与在geom_point中提供的新aes之间的混淆,