R 选择打印的主地图的一部分

R 选择打印的主地图的一部分,r,raster,R,Raster,我已经实现了一个代码,它在地图上绘制了北波瓦特人的物种遭遇率,同时只显示了地图一小部分的数据。然而,绘制的地图显示了整个区域,在本例中为北美,我只希望显示带有数据的区域 以下是我创建地图的代码: r_pred_proj <- projectRaster(r_pred, crs = map_proj$proj4string, method = "ngb") par(mar = c(3.5, 0.25, 0.25, 0.25)) # set up plot area pl

我已经实现了一个代码,它在地图上绘制了北波瓦特人的物种遭遇率,同时只显示了地图一小部分的数据。然而,绘制的地图显示了整个区域,在本例中为北美,我只希望显示带有数据的区域

以下是我创建地图的代码:

r_pred_proj <- projectRaster(r_pred, crs = map_proj$proj4string, method = "ngb")

par(mar = c(3.5, 0.25, 0.25, 0.25))
# set up plot area
plot(bcr, col = NA, border = NA)
plot(ne_land, col = "#dddddd", border = "#888888", lwd = 0.5, add = TRUE)

# encounter rate
r_max <- ceiling(10 * cellStats(r_pred_proj, max)) / 10
brks <- seq(0, r_max, by = 0.025)
lbl_brks <- seq(0, r_max, by = 0.1)
# ebird status and trends color palette
pal <- abundance_palette(length(brks) - 1)
plot(r_pred_proj, 
     col = pal, breaks = brks, 
     maxpixels = ncell(r_pred_proj),
     legend = FALSE, add = TRUE)

# borders
plot(bcr, border = "#000000", col = NA, lwd = 1, add = TRUE)
plot(ne_state_lines, col = "#ffffff", lwd = 0.75, add = TRUE)
plot(ne_country_lines, col = "#ffffff", lwd = 1.5, add = TRUE)
box()

# legend
par(new = TRUE, mar = c(0, 0, 0, 0))
title <- "Wood Thrush Encounter Rate"
image.plot(zlim = range(brks), legend.only = TRUE, 
           col = pal, breaks = brks,
           smallplot = c(0.25, 0.75, 0.06, 0.09),
           horizontal = TRUE,
           axis.args = list(at = lbl_brks, labels = lbl_brks,
                            fg = "black", col.axis = "black",
                            cex.axis = 0.75, lwd.ticks = 0.5,
                            padj = -1.5),
           legend.args = list(text = title,
                              side = 3, col = "black",
                              cex = 1, line = 0))

r\u pred\u proj我相信,只要使用
plot()
函数,您可能需要考虑使用
asp
参数来指定纵横比,这样您就可以选择要将地图“缩放”到该目标区域的x和y限制,这可能需要一些尝试和错误。