5.1 그래프 모수를 설정하는 2가지 방법

이전 절에서 Base Graphics plotting system에서 그래프의 기본 골격을 생성하는 높은 수준의 그래프 함수 (High Level Graphics Function)에 대해서 알아보았습니다.

이번 절에서는 그래프의 기호, 선, 색깔, 마진, 영역 분할그래프의 세부적인 옵션들을 설정하는 방법으로 ‘그래프 모수 (Graphical Parameters)’ 에 대해서 소개하겠습니다.

그래프 모수에는 72 가지가 있는데요, 전부 다루기에는 무리가 있어서 활용 빈도가 높다고 생각하는 항목들만을 선별해서 소개하겠습니다.

R의 콘솔 창에 ‘? par’ 라고 입력하면 graphical parameter setting과 관련한 도움말을 확인할 수 있습니다.

그래프 모수

Figure 5.1: 그래프 모수

그래프 모수를 설정하는 방법에는 2가지가 있습니다.

  • 첫 번째 방법par() 함수를 이용해서 이후에 생성하는 그래프 전체에 일괄적으로 동일하게 모수를 적용하여 글로벌 환경(global environment) 으로 설정하는 방법입니다 . 동일한 모수 설정치로 다수의 그래프를 그려야 하는 상황이라면 편리하게 사용할 수 있는 방법입니다. 일부 그래프 모수는 이 첫 번째 방법으로만 설정할 수 있습니다. (예: 영역분할 mfrow 등)
  • 두 번째 방법은 그래프를 그릴 때마다 로컬 환경으로 매번 함수 내에서 그래프 모수를 일일이 지정해 주는 방법입니다. 그래프를 한 두개 그리고 말거나, 다수의 그래프를 그려야 하는데 모수 설정치가 매번 다르다면 두 번째 방법을 사용하는게 편하겠습니다.
그래프 모수를 설정하는 2가지 방법

Figure 5.2: 그래프 모수를 설정하는 2가지 방법

5.1.1 글로벌 환경 설정

아래에 첫 번째 방법으로 par() 함수를 이용해서 그래프를 위한 글로벌 환경을 설정하는 방법에 대하여 살펴보겠습니다.

이 방법에서의 그래프 작성 절차는 다음과 같습니다.

  • par() 함수의 모수에 글로벌 환경을 설정합니다.

  • 높은 수준의 그래프 함수를 이용하여 그래프를 작성합니다.

5.1.1.1 데이터 세트

MASS 패키지에 내장되어 있는 Cars93 데이터프레임의 차무게(Weight)마력(Horsepower)고속도로연비(MPG.highway) 간의 관계를 알아보기 위해 산포도를 작성해 보겠습니다.

library(MASS)
str(Cars93)

5.1.1.2 par() 함수 도움말 보기

par() 함수에 대한 도움말은 다음과 같이 확인할 수 있습니다. par() 함수는 다양한 옵션들을 제공함을 알 수 있습니다.

##----------------------- 
## Graphical Parameters 
 
# help on par() function 
? par 
## starting httpd help server ... done

5.1.1.3 글로벌 환경의 설정

par() 함수를 사용해서 글로벌 환경(global environment)을 설정한 다음에 다시 원래의 상태로 돌아올 필요가 있습니다. 이러한 상황에 대비하여 par(no.readonly = TRUE)par_origin 이라는 객체에 할당해서 저장해 둡니다.

그런 다음, par() 함수를 이용하여 글로벌 환경 설정으로 위한 모수를 설정합니다. 이 예에서는 다음과 같이 2가지 모수글로벌 환경으로 설정하겠습니다.

  • pch = 15 : “점”의 모양. (0 ~ 18 사이의 숫자)
  • color = “blue” : “색”을 파란색으로 설정합니다 :

이러한 글로벌 환경에서 높은 수준의 그래프를 작성해 보겠습니다. 이를 위해 plot() 함수를 이용하겠으며, plot() 함수에 대해서도 다음과 같은 모수를 설정하겠습니다. 이러한 모수의 설정은 다음의 절에서 좀 더 자세히 살펴 보겠습니다.

  • 첫 번째 모수로 변수를 지정합니다 :

    • 그림 1 : MPG.highway ~ Weight
    • 그림 2 : MPG.highway ~ Horsepower
  • 두 번째 모수로 type 을 설정합니다 : type = p

  • 세 번째 모수로 데이터 세트를 지정합니다 : Cars93

library(MASS)

# method 1 : par() 
# 초기 설정의 저장
par_origin <- par(no.readonly = TRUE) 
par(mfrow = c(1,2))

# 그래프 모수 설정
par(pch = 15, col = "blue") 
 
plot(MPG.highway ~ Weight, type = "p", Cars93)    # X축 : Weight, Y축 : MPG.highway
plot(MPG.highway ~ Horsepower, type = "p", Cars93) # X축 : Horsepower, Y축 : MPG.highway
그래프 모수의 설정 : 글로벌 환경 설정

Figure 5.3: 그래프 모수의 설정 : 글로벌 환경 설정

5.1.1.4 글로벌 환경의 해제

그래프를 그리고 나서 par(par_origin)을 이용하면 원래 기본값의 그래프 모수로 되돌아 오게 됩니다.

# 초기 설정 환원
par(par_origin) 
plot(MPG.highway ~ Weight, type = "p", Cars93)
그래프 모수의 설정 : 글로벌 환경 해제

Figure 5.4: 그래프 모수의 설정 : 글로벌 환경 해제

Go Top

5.1.1.5 현재 그래프 모수 확인 (checking current graphical parameter settings) : par()

참고로, par() 함수를 쓰면 현재의 그래프 모수를 확인해볼 수 있습니다. 갯수를 세어보니 총 72 개의 그래프 모수가 있네요.

# to see current graphical parameter settings 
par()

5.1.2 로컬 환경 설정

두 번째로 개별 그래프마다 그래프 모수를 설정하는 방법에 대하여 예를 들어서 살펴 보겠습니다.

이 방법은 높은 수준의 그래프 함수를 이용하여 그래프를 그려야 하는 상황에서, 각 그래프 함수의 모수를 이용하여 로컬 환경(local environment)을 설정하는 방법입니다.

이번 절에서 이러한 로컬 환경의 모수를 설정하는 방법에 대하여 다음의 내용을 중심으로 살펴 보겠습니다.

5.1.2.1 로컬 환경 설정 예

예를 들어, plot() 함수의 모수에 직접 ‘플롯의 종류’(type =), ‘기호의 모양’(pch =), 그리고, ‘색깔’(col =) 등을 지정해 보겠습니다.

library(MASS)

par(mfrow = c(1,2))
## method 2 : 로컬 환경 설정
plot(MPG.highway ~ Horsepower, 
     type = "p",              # 플롯의 종류 : p (점)
     pch = 15,                # 점의 기호 모양
     col = "blue",            # 점의 색
     data = Cars93)           # 데이터 세트

plot(MPG.highway ~ Weight, 
     type = "p",              # 플롯의 종류 : p (점)
     pch = 21,                # 점의 기호 모양
     col = "black",           # 점의 색
     data = Cars93)           # 데이터 세트
그래프 모수의 설정 : 로컬 환경 설정 예

Figure 5.5: 그래프 모수의 설정 : 로컬 환경 설정 예