6.3 영역 분할/결합 방법 1

2개 이상의 다수의 그래프를 결합하는 방법에는 par() 함수와 layout() 함수의 2가지 방법이 있습니다.

먼저 par() 방법을 살펴보면, par(mfrow = ), par(mfcol = ) 의 2가지 모수 설정 방법이 있습니다. mfrowmfcol 은 아래의 말을 줄여 쓴 말입니다.

  • mfrow : 행 우선의 복수 플롯의 수

  • mfcol : 열 우선의 복수 플롯의 수

par(mfrow = c(4, 2)) 은 복수의 플롯 작성할 때 프레임을 4행 2열로 분할하여 한 프레임에 표시하라는 의미입니다.

그래프가 그려지는 순서를 화살표로 표시를 해두었는데요, 상단 왼쪽에서 시작해서 오른쪽으로 지그재그로 하단으로 내려가면서 그래프가 순차적으로 그려집니다.

library(MASS)

# par의 기본 설정 값을 저장합니다.
op <- par(no.readonly = TRUE) 

##-- par(mfrow = ): 행 우선의 복수 플롯의 수
par(mfrow = c(4, 2),                             # 4행 2열로 프레임을 분할합니다
    mar = c(4, 3, 3, 1),                         # 내부 마진을 설정합니다.
    oma = c(0.5, 0.5, 2, 0.5))                   # 외부 마진을 설정합니다.

plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 1") 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 2") 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 3") 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 4") 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 5") 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 6") 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 7") 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 8") 
 
mtext("par(mfrow = c(4, 2)", outer = TRUE, cex = 2, col = "blue")
par(mfrow = ): 행 우선의 복수 플롯의 수

Figure 6.4: par(mfrow = ): 행 우선의 복수 플롯의 수

# par를 초기 설정값으로 환원합니다.
par(op)

한편, par(mfcol = c(4, 2)) 은 프레임을 4행 2열로 분할하되, 플롯은 열 우선 순서로 표시가 되는 것입니다. 다음의 예에서 플롯이 그려지는 순서를 잘 살펴보기 바랍니다.

library(MASS)

# par의 기본 설정 값을 저장합니다.
op <- par(no.readonly = TRUE) 

##-- par(mfcol = ) : 열 우선의 복수 플롯의 수
par(mfcol = c(4, 2),                 # 프레임을 4행 2열로 분할합니다.
    mar = c(4, 3, 3, 1),             # 내부 마진을 설정합니다.
    oma = c(0.5, 0.5, 2, 0.5))       # 외부 마진을 설정합니다.
 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 1") 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 2") 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 3")
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 4")
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 5") 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 6") 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 7") 
plot(MPG.highway ~ Weight, Cars93, type="p", main = "plot 8") 
 
mtext("par(mfcol = c(4, 2)", outer = TRUE, cex = 2, col = "blue")
par(mfcol = ) : 열 우선의 복수 플롯의 수

Figure 6.5: par(mfcol = ) : 열 우선의 복수 플롯의 수

# par를 초기 설정값으로 환원합니다.
par(op)

Go Top