2012-10-19 4 views
1

다음 그림의 영역 (2,2), (2,4), (4,2), (4,4))의 크기가 grid.rect()이 아닌 이유는 무엇입니까? 즉, 그려진 직사각형이이 영역과 완벽하게 일치하지 않는 이유는 무엇입니까? 단위가 "인치"인 경우이 방법이 효과적이지만 ("상대 좌표"를 사용하고 싶습니다.)격자 : 단위가 "인치"대신 "npc"인 경우 grid.layout의 크기를 강제하는 방법은 무엇입니까?

require(grid) 

inch <- FALSE # TRUE 

d <- if(inch) 5 else 1 
pspc <- d*c(0.3, 0.3) # width, height of panels 
spc <- d*c(0.05, 0.05) # width, height of space 
axlabspc <- d*c(0.1, 0.1) # width y label, height x label 
labspc <- d*c(0.05, 0.05) # width label boxes, height label boxes 

par. <- par(no.readonly=TRUE) 
gl <- grid.layout(5, 5, default.units=if(inch) "inches" else "npc", 
        widths=c(axlabspc[1], pspc[1], spc[1], pspc[1], labspc[1]), 
        heights=c(labspc[2], pspc[2], spc[2], pspc[2], axlabspc[2])) 
grid.show.layout(gl) 
pushViewport(viewport(layout=gl)) 
for(i in 1:2) { 
    for(j in 1:2) { 
     pushViewport(viewport(layout.pos.row=2*i, layout.pos.col=2*j, name="foo")) 
     grid.rect() 
     upViewport() 
    } 
} 
par(par.) 
+1

예제에는'nx'와'ny'에 대한 정의가 필요합니다. –

+0

죄송합니다. 방금 고쳤습니다. 도와 줘서 고맙다. –

답변

0

grid.show.layout(gl, vp=viewport(width=1.25, height=1.25))을 사용하면 효과가 있습니다.