7.1 제목과 XY축 레이블 추가하기

7.1.1 title() 함수의 사용법

먼저 그래프 제목(main/sub title)과 XY축 레이블(XY axis label)을 추가하는 방법으로 title() 함수의 사용 방법에 대하여 알아 보겠습니다.

title() 함수에 사용하는 옵션으로는 주 제목 main, 부 제목 sub, X축 레이블 xlab, Y축 레이블 ylab 등이 있습니다.

 title(main = "main title to the top of plot in a large font",   
       sub = "sub-title sub at the bottom in a smaller font",   
       xlab = "x axis label",   
       ylab = "y axis label")

높은 수준의 그래프 함수, 즉 hist(), boxplot(), barplot(), plot() 등의 함수 안에서도 주 제목, 부 제목, X축 레이블, Y축 레이블을 직접 지정할 수도 있습니다.

7.1.2 높은 수준의 함수 이용

다음의 예는 높은 수준의 그래프 함수로 이를 표시한 예입니다.

##---------------------------------------------- 
## 제목, 부제목, X축과 Y축의 레이블 추가하기
##---------------------------------------------- 
library(MASS)

par(mfrow = c(1, 1))

# 방법 (1) : 높은 수준의 함수 plot() 함수의 예
plot(MPG.highway ~ Weight, Cars93,
     main = "제목 : Weight와 MPG.highway의 산점도",        
     sub = "부제목 : 높은 수준의 그래픽 함수",
     xlab = "x 레이블 : Weight",
     ylab = "y 레이블 : MPG.highway")
제목과 XY축 레이블 추가

Figure 7.2: 제목과 XY축 레이블 추가

7.1.3 낮은 수준의 그래프 함수 이용

위의 그래프와 똑같은 그래프를 낮은 수준의 그래프 함수를 사용해서 그려보겠습니다.

먼저 고급 수준의 함수 plot() 함수를 이용하여 플롯을 합니다. plot() 함수의 인수로 “ann = FALSE” 옵션을 추가해서 기본 플롯만 그립니다.

그런 다음, 위의 기본 플롯에 낮은 수준의 그래프 함수(Low level graphic function) title() 함수를 사용해서 제목, 부제목, x 레이블, 그리고 y 레이블 등의 부가정보를 추가해 보겠습니다.

library(MASS)
# 방법 (2) : 낮은 수준의 함수 title() 함수의 사용 예
# 1) 고급 수준의 함수 plot() 함수를 이용하여 기본 플롯을 작성합니다.
# X와 Y 레이블의 삭제 : ann = FALSE 
plot(MPG.highway ~ Weight, Cars93, ann = FALSE)
높은 수준의 함수 이용 : 제목과 XY축 레이블 제거

Figure 7.3: 높은 수준의 함수 이용 : 제목과 XY축 레이블 제거

# 2) 낮은 수준의 함수 title() 함수를 이용해 제목, 부제목, x 레이블, 그리고 y 레이블 등의 부가정보를 추가합니다
plot(MPG.highway ~ Weight, Cars93, ann = FALSE)

title(main = "플롯의 상단부에 큰 폰트로 표시되는 제목",   
       sub = "바닥에 작은 폰트로 표시되는 부제목",   
       xlab = "x 축 레이블",   
       ylab = "y 축 레이블")
제목과 XY축 레이블 추가 : 낮은 수준의 함수 title() 함수의 사용

Figure 7.4: 제목과 XY축 레이블 추가 : 낮은 수준의 함수 title() 함수의 사용

높은 수준의 그래프 함수에서도 주 제목, 부 제목, XY축 Label 등을 설정할 수 있는데 왜 굳이 낮은 수준의 그래프 함수 title() 을 가지고 추가 정보를 입력하는지 의아할 수도 있겠습니다.

높은 수준의 그래프 함수 중에 부가정보를 입력할 수 없는 그래프 함수도 있으며, R의 장점 중에 하나가 대화형으로 그래프의 부가 정보를 추가하는 것을 직접 확인할 수 있습니다. 따라서 매우 직관적으로 탐색적 데이터 분석을 할 수 있다는 점입니다.

7.1.4 낮은 수준 함수를 이용한 글자 크기 변경

참고로, 지난 절에서 소개한 그래프 모수 (graphics parameters) 중에서 글자의 크기를 설정하는 cex.main =,” “cex.sub =,” “cex.lab = 옵션을 사용해서 주 제목, 부 제목, XY축 레이블의 글자 크기를 변경해보겠습니다.

library(MASS)
# 제목, 부제목, xy 레이블의 글자 크기를 수정하기
# X와 Y 레이블의 삭제 : ann = FALSE 
plot(MPG.highway ~ Weight, Cars93, ann = FALSE)

# 제목, 부제목, x 레이블, 그리고 y 레이블 등의 부가정보를 추가하면서, 글자 크기도 수정합니다.
title(main = "cex가 2.2인 제목",  
      sub = "cex가 1.5인 부제목",
      xlab = "cex가 1인 x 레이블",
      ylab = "cex가 1인 y 레이블",
      cex.main = 2.2,                        # 제목의 글자 크기
      cex.sub = 1.5,                         # 부제목의 글자 크기
      cex.lab = 1)                           # x와 y 레이블 글자 크기
제목, 부제목, xy 레이블의 글자 크기를 수정 : 낮은 수준의 함수 title() 함수의 사용

Figure 7.5: 제목, 부제목, xy 레이블의 글자 크기를 수정 : 낮은 수준의 함수 title() 함수의 사용

7.1.5 낮은 수준 함수를 이용한 글자 색 변경

col.main =, col.sub =, col.lab = 등의 모수를 이용하여 글자의 색도 지정할 수 있겠지요…

library(MASS)
# 제목, 부제목, xy 레이블의 글자 크기를 수정하기
# X와 Y 레이블의 삭제 : ann = FALSE 
plot(MPG.highway ~ Weight, Cars93, ann = FALSE)

# 제목, 부제목, x 레이블, 그리고 y 레이블 등의 부가정보를 추가하면서, 글자 크기도 수정합니다.
title(main = "cex가 2.2인 제목",  
      sub = "cex가 1.5인 부제목",
      xlab = "cex가 1인 x 레이블",
      ylab = "cex가 1인 y 레이블",
      cex.main = 2.2,
      cex.sub = 1.5, 
      cex.lab = 1,
      col.main = "red",
      col.sub = "red",
      col.lab = "blue")   
제목, 부제목, xy 레이블의 글자 색 지정 : 낮은 수준의 함수 title() 함수의 사용

Figure 7.6: 제목, 부제목, xy 레이블의 글자 색 지정 : 낮은 수준의 함수 title() 함수의 사용