2015-07-10 58 views
-1

我設法建立一個地圖,甚至包括指北針,但不能得到map.scale工作,讓這種類型的錯誤:錯誤添加比例尺與map.scale

Error in map.scale(x = -83, y = 12, ratio = FALSE, relwidth = 0.2, cex = 0.6) : unused arguments (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) # 

回答

1

的問題是,map.scale()是兩個mapsGISTools包的功能。您正嘗試使用maps軟件包中的功能。由於您首先加載了maps,然後加載了GISToolsmapsmap.scale()被屏蔽(可能會在加載最後一個包時引發警告)。

解決的辦法是在函數調用指定包:

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

而且爲什麼兩次調用map.scale?你應該排除其中的一個。