使用布局函数

时间:2016-06-19 12:21:30

标签: r plot graphics raster r-raster

我试图在一个图中绘制五个栅格。我可以使用par()轻松完成此操作,但我希望我的多画面与顶部栅格居中对称。创建虚拟图可以正常工作:

m <- rbind(c(1, 1), c(2, 3), c(4,5))
print(m)

     [,1] [,2]
[1,]    1    1
[2,]    2    3
[3,]    4    5

layout(m)
layout.show(5)

Dummy plot

但是当我尝试使用我的栅格时,一切都会出错:

m <- rbind(c(1, 1), c(2, 3), c(4,5))
layout(m)

plot(rast1)
plot(shape, add=TRUE)
plot(rast2)
plot(shape, add=TRUE)
plot(rast3)
plot(shape, add=TRUE)
plot(rast4)
plot(shape, add=TRUE)
plot(rast5)
plot(shape, add=TRUE)

Raster plot

&#34;形状&#34;被添加到每个图中只是我正在研究的保护区的轮廓。底部三个看起来像是在正确的位置,但显然不是顶部的。假设底部3位于正确的位置,我也想让每一个更大。

我曾尝试更改情节边距,但这让事情变得更糟。我也尝试使用image()代替plot()建议here,但我收到了错误消息。

作为可重复的示例,您可以使用:

library(raster)
r <- raster(ncols=5, nrows=5, xmn=1, xmx=5, ymn=1, ymx=5)
rast1 <- setValues(r, rnorm(25))
rast2 <- setValues(r, rnorm(25))
rast3 <- setValues(r, rnorm(25))
rast4 <- setValues(r, rnorm(25))
rast5 <- setValues(r, rnorm(25))

m <- rbind(c(1, 1), c(2, 3), c(4,5))
layout(m)

plot(rast1)
plot(rast2)
plot(rast3)
plot(rast4)
plot(rast5)

这让你看起来非常相似:

enter image description here

任何人都可以帮助我a)修复每个栅格的位置和b)使每个栅格变大吗?非常感谢任何帮助,我濒临放弃,只是手工将各个栅格粘在一起。

1 个答案:

答案 0 :(得分:3)

我认为如果您使用image而非plot

,则此方法有效
library(raster)
r <- raster(ncols=5, nrows=5, xmn=1, xmx=5, ymn=1, ymx=5)
r1 <- r2 <- r3 <- r4 <- r5 <- setValues(r, rnorm(ncell(r)))

m <- rbind(c(1, 1), c(2, 3), c(4,5))
layout(m)

image(r1)
image(r2)
image(r3)
image(r4)
image(r5)