使用qqmap基于现有地图添加轮廓标签(direct.labels)

时间:2015-09-16 20:40:28

标签: r ggplot2 ggmap

我试图在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)时,它会一直给我同样的错误。

0 个答案:

没有答案