2017-10-13 1 views
1

작동하지 screenR : 화면 내부 래스터 이미지를 (플로팅) 내가 사용하는 두 개의 숫자로 구성된 플롯에 <code>rasterLayer</code> 객체를 플롯하려고

첫째 - 작업의 시나리오 우리가 하나의 이미지 만있을 때 :

library(raster) 
f <- system.file("external/test.grd", package="raster") 
rst <- raster(f) 

plot(rst) 
points(180000, 332000, col="red", pch=19) 

모든 좋은 외모와 이미지는 다음과 같습니다

image1

하우

library(raster) 
f <- system.file("external/test.grd", package="raster") 
rst <- raster(f) 
class(rst) 

figs <- rbind(c(0, 0.5, 0, 1), # Screen1 
       c(0.5, 1, 0, 1) # Screen2 
      ) 
screenIDs <- split.screen(figs) 

screen(screenIDs[1]) 
plot(rst) 
points(180000, 332000, col="red", pch=19) 

image2

그것은 래스터 형태의 메인 이미지처럼 보인다 버전 나는 두 개로 화면을 분할 할 때 나는 다음을 얻을 플로팅 지역의 절반을 사용하여 동일한 그림을 그릴려고 올바르게 그려지고있다. 그러나 어떤 이유에서 전체 플로팅 영역을 캡처하고 그 위에 경계선을 추가합니다. 그 후 플롯 (예 : points)을 호출하면 전반부에 머물지 않고 전체 그림에 점이 추가됩니다.

아이디어를 해결하거나 우회하는 방법에 대한 아이디어가 가장 높이 평가됩니다.

+0

아니'split.screen' 기능에 대한 확인을 살펴 가지고 있지만() (1,2 =에 c mfrow)'파를 사용 않습니다 대체 옵션을 제공합니까? – timfaber

+0

@timfaber par (mfrow = c (1,2))가 작동하지 않습니다. 하지만 불행하게도 나는 복잡한 페이지 레이아웃을 가지고있다. (여기서 반쪽 두 개는 재현 가능한 예제를위한 것이다.)'screen'을 사용해야한다. –

답변

2

split.screen 대신 layout을 사용할 수 있습니다. 귀하의 예 에서처럼 동일한 크기의 두 개의 패널로 된 단지 1 행의 간단한 레이아웃으로 여기에서 시연합니다. 더 복잡한 레이아웃을 얻는 방법을 들어`, ?layout

layout(matrix(c(1,2), 1, 2, byrow = TRUE)) 
plot(rst) 
points(180000, 332000, col="red", pch=19) 

plot(1:10,1:10) # a dummy plot to put in the right hand panel 

enter image description here

+0

+1. 응답 시간을내어 주셔서 감사합니다. 나는 레이아웃을 알고 있지만, 실제로 이것을 위해 스크린을 사용하고 싶습니다. 지금은 화면에서 더 잘 작동하는 것처럼 보이는'image()'를 사용하여 래스터를 플로팅하는 다른 방법을 조사하고 있지만 해상도를 올바르게 얻을 수는 없습니다 ... –

관련 문제