我想将多个levelplots合并为一个(使用rasterVis包)。我成功地使用c()(参见reprex)。但是,我找不到一种方法来管理子图的标题。具体来说,只有顶部行的图得到正确的标题,而其余的得到一个非常“丑陋”的NA作为子图标题。
# Load libraries
library(rasterVis)
library(terra)
# Create raster extents
bbox_italy <- c(6.284180,19.028320,36.385913,47.398349) # Bounding box Italy
bbox_greece <- c(19.006348,29.245605,34.107256,42.098222) # Bounding box greece
# Create raster data
# Greece spring
r1 <- rast(ncol=10, nrow=10, ext(bbox_greece))
r1 <- setValues(r1, 1:ncell(r1))
names(r1) <- 'spring'
# Greece summer
r2 <- rast(ncol=10, nrow=10, ext(bbox_greece))
r2 <- setValues(r2, 1:ncell(r2))
names(r2) <- 'summer'
# Italy spring
r3 <- rast(ncol=10, nrow=10, ext(bbox_italy))
r3 <- setValues(r3, 1:ncell(r3))
names(r3) <- 'spring'
#italy summer
r4 <- rast(ncol=10, nrow=10, ext(bbox_italy))
r4 <- setValues(r4, 1:ncell(r4))
names(r4) <- 'summer'
# create levelplots
plot1 <- levelplot(c(r1, r2))
plot2 <- levelplot(c(r3,r4))
# combine level plots
comb_plot <- c(plot1, plot2, layout = c(2, 2), merge.legends = F)
print(comb_plot)
在我的例子中,多水平图的每一列都包含具有相同标题的子图(一年中的季节,针对不同的国家)。因此,我可以选择以下两种:1)从第2行向下的子图的“空白”标题,或2)每列中每个子图的相同标题
我问,因为我将自动化这个过程约400情节,因此这将是非常好的有正确的标题/副标题直接从脚本。
我所期望的是每个子图在每一列都有相同的标题(因为每个levelplots中的名称都是正确的)。
plot2 <- levelplot(c(r3,r4), names.attr=rep("",2))
当我打印单个levelplot的时候
print(plot2)
然而,当我使用c()将其组合在一起时,我得到了相同的结果('NA'作为子情节标题)。任何帮助都是高度赞赏的。
1条答案
按热度按时间i2loujxw1#
这并不是您正在寻找的解决方案:
我喜欢它,因为它突出了光栅的不同范围。