我正在尝试使用ggplot2和geom_map制作地图,但是我在做一件容易的事时遇到了麻烦……在顶部添加一组坐标!
这是我的底图代码的第一部分,基于我已经作为mapbasis
加载的shapefile:
p1<-ggplot(mapbasis,aes(long,lat,map_id=id,fill=id))+
geom_map(map=mapbasis)
为了测试代码,我现在创建一个只有一些坐标的数据框:
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
对象,并且效果很好。
有人可以建议出什么问题吗?
答案 0 :(得分:0)
@TinglTanglBob提供的答案
使用Inherited.aes = FALSE可以防止在geom_map中定义的原始美感与在geom_point中提供的新aes之间的混淆,