R로 데이터 분석하기 - 시각화 (2) : 여러 개의 그래프

1 minute read

1. par(mfrow=c(n,m))

유사한, 또는 대조적인 여러 개의 그래프를 한 눈에 볼 수 있게 나타낼 경우 시각화를 통한 설득의 효과가 극대화되는 경우가 있다. 이럴 때 사용할 수 있는 R의 명령어가 par(mfrow=c(n,m))이다. 이 명령어로 n행 m열로 여러 개의 그래프를 그릴 공간을 나눌 수 있다. 예를 들어 보자.

par(mfrow=c(1,2))

1행 2열로 공간을 나눠 놓았다. 이제 이전 글에서 plot() 함수를 이용해 그렸던 두 개의 그래프를 한 번에 나타내보자.

plot(weather$Temp_mean, weather$Humidity)
plot(weather$Temp_mean, weather$Humidity,
     xlab="Temperature", ylab="Humidity",
     main="Scatter plot", col="red", cex=1,
     pch=20, xlim=c(-30,50), ylim=c(0,100))

image

첫 번째 plot() 함수를 실행했을 때 왼쪽 공간에 그래프가 그려지며, 오른쪽 공간은 빈 화면으로 남는다. 그 후 두 번째 plot() 함수를 실행하면 오른쪽 공간에 그래프가 그려진다. 기본적으로 왼쪽에서 오른쪽으로, 위에서 아래로 하나씩 그려진다. 이렇게 par(mfrow=c(n,m))으로 공간을 분리해 놓으면 이 설정은 R Studio를 종료하기 전까지는 계속 유지된다.

공간을 나눠서 그래프를 그리려다 보면 Error in plot.new() : figure margins too large 에러가 더 잘 나타나게 된다. 이럴 때는 지난 글에서 다뤘던 것처럼 dev.new()를 사용해서 해결할 수 있다. 단, 주의해야 할 점은 기존에 R Studio에서 n행 m열로 공간을 분리해 놓았다고 하더라도 그 설정이 dev.new()에도 그대로 적용되지는 않는다는 점이다. 따라서, 새 창을 띄운 후에는 par(mfrow=c(n,m))를 다시 한 번 실행해 준 후, 그래프를 그려야 한다.

2. pairs

pairs() 함수를 이용해 여러 변수의 조합으로 만들어지는 산점도 행렬을 그려볼 수도 있다.

pairs(~Dust+Temp_mean+Rain+Humidity, data=weather)

image

Leave a comment