在边界匹配限制参数的R中绘制栅格

问题描述

我有一个要在R中使用世界地图叠加层进行绘制的栅格图像。我可以同时绘制栅格图像和地图叠加层,但是为该栅格图指定的x和y限制不是我想要的指定,在我不想显示在地图上的栅格边界之外留下一个悬垂线。

这是我的代码

library(raster)
library(rworldmap)

r <- raster(ncol=500,nrow=500)
values(r) <- 1:ncell(r)
plot(r,ylim=c(-50,50),xlim=c(-100,100),col=rev(pal(100)))
world <- getMap(resolution="high")
map(world,add=TRUE,lwd=0.5)

哪个会生成这张地图:

关于如何摆脱图中顶部和底部的白色非栅格突出部分的任何想法?谢谢!!!

解决方法

以下示例是对代码的略微修改。

library(raster)
library(rworldmap)
library(rgeos)

r <- raster(ncol=500,nrow=500)
values(r) <- 1:ncell(r)
r <- crop(r,extent(-100,100,-50,50))
world <- getMap(resolution="high")
world <- gBuffer(world,byid = T,width = 0)
world <- crop(world,r)
png(file = "C:/Example_Plot.png",height = 500,width = 880)
plot(r)
plot(world,add = T,lwd = 0.5)
dev.off()

该策略实质上是将多边形裁剪到栅格对象的范围,并指定输出文件的宽度和高度。

Example_Plot