我正在使用 awesomerasterVis
来创建一个具有相同范围(即相同空间覆盖)但显示不同特征(即每个都有自己的图例)的地图的面板。
这是到目前为止的样子:
library(raster)
library(rasterVis)
library(RColorBrewer)
library(gridExtra)
# make-up data
r <- raster(system.file("external/test.grd", package="raster"))
s <- stack(r, r*2, r*3, r*4, r*5)
names(s) <- paste0("Field ",seq(1,5))
# pre-allocate list
l <- vector("list", length=nlayers(s))
# define theme for plots
my.theme <- rasterTheme(region=brewer.pal(11,'RdYlGn'))
# loop over stack layers to fill list
for (n in (1:nlayers(s))){
l[[n]] <- levelplot(s[[n]], margin=F, main=names(s[[n]]), par.settings=my.theme)
}
# plot combined maps
grid.arrange(l[[1]], l[[2]], l[[3]], l[[4]], l[[5]], ncol=3)
请注意,地图的默认定位是:
a b c
d e
但是,我希望对定位进行更好的控制。具体来说,我想将底部的两个面“居中”,以便在绘图的两侧更均匀地分布空隙空间。
换句话说,我正在寻找的位置看起来像:
a b c
d e
我怎样才能做到这一点?我查找了 ( grid.arrange
) 的文档,但找不到任何可以解决我的问题的选项。
提前感谢您的任何提示。