我试图在qqmap生成的地图上叠加几个图层,第一层是高程轮廓线,第二层是我要添加的几个点,最后我想添加轮廓线数的直接标签而不是填充颜色水平。
我的代码是:
p0<-ggmap(ger.map)
v <-p0+stat_contour(data=df1, aes(x=Long, y=Lati, z = elev,colour=..level..),
inherit.aes=FALSE)+
geom_point(data=po1, inherit.aes=FALSE,aes(x=lo, y=la),color=col,size=4,)
direct.label(v)
没有命令direct.label
就可以正常工作,但是当我想添加轮廓线标签时,会弹出错误:
data.frame出错(x = c(6,15),y = c(45,55),PANEL = c(1L,1L,1L,: 参数意味着行数不同:2,1195
为了帮助您理解错误消息,data = df1中有1195行,(colnames为&#34; x&#34;,&#34; y&#34;,&#34; Long&#34; ,&#34; Lati&#34;,&#34; elev&#34;)并且data = po1中有167行(colnames只是经度和纬度)。插值后数据将转换为长格式。我想这不应该是数据的问题,因为如果不添加label命令,我可以绘制出地图。但我并不是100%肯定我的想法是正确的。
当我尝试这个时(如果我删除了由&#39; ggmap&#39生成的基本地图,如下所示。它运行良好而没有错误。):
v <-ggplot(df1, aes(Long, Lati, z = elev))+
stat_contour(aes(colour=..level..),size=0.9)+
geom_point(data=po1, aes(x=lo, y=la), color=col,inherit.aes=FALSE,size=4)
direct.label(v)
但是当我在头部添加ggmap(ger.map)
时,它会一直给我同样的错误。