2016-06-19 10 views
2

하나의 그림에 5 개의 래스터를 표시하려고합니다. 나는 이것을 par()으로 쉽게 할 수는 있지만, 내 multiplot이 중심에있는 최상위 래스터와 대칭이되도록하고 싶습니다.레이아웃 함수를 사용하여 r에 여러 래스터 플롯

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

을 각 줄거리는 제가 작업하고있는 보호 지역에 대한 개요입니다. 아래쪽 3 개는 올바른 위치에 있지만 맨 위의 것들은 분명히 보이지 않습니다. 하단 3이 올바른 위치에 있다고 가정하면 각 하나를 훨씬 더 크게 만들고 싶습니다.

플롯 마진을 변경해 보았지만 그로 인해 상황이 악화되었습니다. 나는 또한 here 제안대로 plot() 대신 image()을 사용하여 시도했지만 오류 메시지가 나타납니다.

재현 예를 들어 당신이 사용할 수 있습니다 : 당신은 매우 유사하게 보이는 혼란을 가져

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

사람이 나에게) 각 래스터의 위치를 ​​해결하는 데 도움 수 있으며, b) 각 래스터를 더 크게 만드시겠습니까? 어떤 도움이라도 대단히 감사하겠습니다. 저는 포기하고 손으로 별도의 래스터를 붙이기 직전입니다. , 플롯 (fires.3km = FALSE, 상자 = FALSE 축, COL :

답변

3

나는 오히려 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) 
+0

이것은 재현 예제하지만 내 사용자 정의 래스터와 함께 작동보다 image를 사용하는 경우이 작동 생각 = RHGL (100), par (mar = c (2, 2, 2, 2)), main = "Number of Fire") 어떻게 이것을 image() 함수에 포함시킬 수 있습니까? 끔찍하게 왜곡 된 상단 래스터로 끝납니다. – James