-1

我设法创建了一张地图,甚至包括了一个指北针,但无法map.scale正常工作并出现这种错误:

map.scale 中的错误(x = -83,y = 12,ratio = FALSE,relwidth = 0.2,cex = 0.6):未使用的参数(ratio = FALSE,relwidth = 0.2,cex = 0.6)

这是代码:

    library(maps)
    library(mapdata)  
    library(ggmap)
    library(mapproj)
    library(maptools)  #for shapefiles
    library(scales)  #for transparency
    library(GISTools)
    range <- readShapePoly("isthmanianpacificmoistforestecoregion") #layer      of data for species range
    map("worldHires", c('Cost', 'pan', 'Nic', 'Colombia'),    xlim=c(-89,-75),ylim=c(5,13), col="lightgray", fill=TRUE) #plot the region I want
    map.scale(-81,8,relwidth = 0.15, metric = TRUE, ratio = TRUE)
    plot(range, add=TRUE, xlim=c(-89,-75),ylim=c(5,13), col=alpha("green", 0.6), border=TRUE)  
    map.scale(x=-80, y=10) #, relwidth=0.3, cex=0.5, ratio=FALSE) 
    north.arrow(xb=-77, yb=12, len=0.2, lab="N", col="black", fill=TRUE) # 
4

1 回答 1

1

问题是它map.scale()mapsGISTools包的功能。您正在尝试使用maps包中的功能。由于您是先加载maps然后GISTools,因此map.scale()frommaps被屏蔽(可能 R 在加载最后一个包时会引发警告)。

解决方法是在函数调用中指定包:

maps::map.scale(-81,8,relwidth = 0.15, metric = TRUE, ratio = TRUE)

另外为什么要两次调用map.scale?您可能应该排除其中之一。

于 2015-08-14T15:05:08.423 回答