我知道在使用简单函数图时如何绘制两个图:
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)
关于如何解决这个问题的任何想法?
谢谢,
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)
甚至更简单:
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)