如何在R中使用levelplot在图中添加子图?

我想在我的主要关卡图中添加一个子图,类似于this image。我两个地图都需要纬度/经度轴,但是我还没有找到一种用水平图进行此操作的方法。另外,我见过this question,但没有答案。 我对子图和新的par()感到很困惑,因此我真的希望有所帮助。

library("raster")
library ("rasterVis")
library("viridis")

r <- raster(system.file("external/test.grd",package="raster"))#subplot
r2<-r/2 #main plot
ckey <- list(labels=list(cex=1.5),height=1,space='top')
levelplot(r2,colorkey=ckey,margin=FALSE,xlab="",ylab="",col.regions=viridis,at=seq(100,500,len=20),scales=list(x=list(cex=1.5),y=list(cex=1.5))) #from this point,I do not know how to add a subplot
xiaomo1128 回答:如何在R中使用levelplot在图中添加子图?

gridExtra软件包中的

grid.arrange可以为您做到这一点

library(raster)
library(rasterVis)
library(viridis)
library(gridExtra)

r <- raster(system.file("external/test.grd",package = "raster")) # subplot
r2 <- r / 2 # main plot
ckey <- list(labels = list(cex = 1.5),height = 1,space = "top")

lv1 <- levelplot(r2,colorkey = ckey,margin = FALSE,xlab = "",ylab = "",col.regions = viridis,at = seq(100,500,len = 20),scales = list(x = list(cex = 1.5),y = list(cex = 1.5))) # from this point,I do not know how to add a subplot

lv2 <- levelplot(r2,y = list(cex = 1.5)))

lay <- rbind(
  c(1,1,NA,NA),c(1,2,2),c(NA,2)
)

grid.arrange(lv1,lv2,layout_matrix = lay,top = "Figure 1.",bottom = "bottom\nlabel")

reprex package(v0.3.0)于2019-11-22创建

本文链接:https://www.f2er.com/3048966.html

大家都在问