使用spplot在R中的单个页面上放置多个图?

Blu*_*oon 4 plot r

我知道在使用简单函数图时如何绘制两个图:

 old.par <- par(mfrow=c(1, 2))
 plot(faithful, main="Faithful eruptions")
 plot(large.islands, main="Islands", ylab="Area")
 par(old.par)
Run Code Online (Sandbox Code Playgroud)

这将返回......

在此输入图像描述

我需要为相当复杂的spplot函数做同样的事情.我想要的是一个3 x 3的正方形.

我要绘制9次的功能是:

labelat = fivenum(gwr.res$SDF$Unempl)
labeltext = labelat 


spplot(gwr.res$SDF, "Unempl", cuts = 4, at = c(fivenum(gwr.res$SDF$Unempl)),     col.regions = Greens,
    colorkey=list(width=0.3,      
              space="right", 
              tick.number=5, 
              labels=list(  
                at=labelat, 
                labels=labeltext ))) 
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法?

谢谢,

Spa*_*man 8

grid.arrange从包中使用gridExtra.执行grid.arrange(spplot(..),spplot(...),spplot(.....))等将将它们排列在网格中.

下面是一个使用meuse数据集的示例,该数据集生成9个这样的图,然后用于do.call保存必须执行grid.arrange(plots[[1], plots[[2]],等等,最多9个:

> require(gridExtra)
> plots = lapply(names(meuse)[1:9], function(.x) spplot(meuse,.x))
> do.call(grid.arrange,plots)
Run Code Online (Sandbox Code Playgroud)

3x3网格


may*_*cca 5

甚至更简单:

grid.arrange(spplot(df.voro2, "my.data", xlab = "x", ylab = "y", main = "my title") , 
             spplot(df.voro, "dummy", xlab = "x2", ylab = "y2", main = "my title2" ))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明