7.2 XY축 형태 변환 : axis(side, ...)
이번 절에서는 낮은 수준의 그래프 함수 두번째로 XY축의 형태를 변환시켜 주는 axis(side, ...)
함수 에 대해서 학습하겠습니다.
XY축의 형태를 변경하는 axis()
함수의 기본 사용법은 다음과 같습니다.
axis(side, at = NULL,
labels = TRUE,
tick = TRUE,
line = NA,
pos = NA,
outer = FALSE,
font = NA,
lty = "solid",
lwd = 1, lwd.ticks = lwd,
col = NULL, col.ticks = NULL,
hadj = NA, padj = NA, ...)
위의 axis()
함수의 모수 중에서 사용빈도가 높은 주요 모수를 중심으로 기능을 설명하는 예를 들어보겠습니다.
모수 | 설명 |
---|---|
side |
그래프의 어느 쪽에 축을 그릴지 지정하는 정수. 1 = 아래쪽 (below side) 2 = 왼쪽 (left side) 3 = 위쪽 (above side) 4 = 오른쪽 (right side) |
at |
축의 눈금이 그려질 곳의 위치를 지정하는 점들 |
labels |
축 눈금에 레이블 데이터를 입력하는 숫자형 벡터, 혹은 문자형 벡터 |
tick |
축의 눈금과 축의 선을 그릴지를 설정하는 논리형 값 |
pos |
해당 축이 다른 축과 교차하는 좌표 |
lty |
축과 눈금의 선의 유형 |
lwd |
축의 눈금의 선의 두께 |
col |
축과 눈금 선의 색깔 |
tck |
눈금의 방향과 길이 설정 - 양수 : 그래프 안쪽으로 눈금 생성 - 음수 : 그래프 바깥쪽으로 눈금 생성 |
hadj |
수평 레이블에 대한 수정 |
padj |
수직 레이블에 대한 수정 |
7.2.1 X축과 Y축의 제거
X축과 Y축을 변경하기 전에 먼저 “axes = FALSE
” 옵션을 사용해서 X축과 Y축을 제거해야 합니다. X축만 선별적으로 제거하려면 xaxt = "n"
, Y축만 선별적으로 제거하려면 yaxt = "n"
옵션을 사용하면 되겠습니다.
아래에 각각의 예를 들어보았습니다.
library(MASS)
##---------------------------------------------
## 높은 수준의 함수 모수 : main, axes, xaxt, yaxt
##---------------------------------------------
# 기본 par 설정값을 저장합니다.
<- par(no.readonly = TRUE)
op
# par() 함수의 옵션을 변경합니다.
par(mfrow=c(2, 2)) # 프레임을 2행 2열로 분할합니다.
# X와 Y축을 플롯합니다.
plot(MPG.highway ~ Weight, Cars93, main = "plot with X and Y axis")
# X와 Y축을 제거합니다. : axes = FALSE
plot(MPG.highway ~ Weight, Cars93, axes = FALSE, main = "axes = FALSE")
# X 축만 제거합니다 : xaxt = "n"
plot(MPG.highway ~ Weight, Cars93, xaxt = "n", main = "xaxt = n")
# Y 축만 제거합니다 : yaxt = "n"
plot(MPG.highway ~ Weight, Cars93, yaxt = "n", main = "yaxt = n")
# 원래의 par 기본 값을 불러옵니다.
par(op)
7.2.2 X축과 Y축의 눈금 간격 변경
X축과 Y축의 범위를 알아보기 위해 summary()
함수로 기술통계량을 알아보겠습니다.
library(MASS)
# x축과 y축의 통계 요약 정보를 확인합니다.
summary(Cars93$Weight) # X 축
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1695 2620 3040 3073 3525 4105
summary(Cars93$MPG.highway) # Y 축
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 20 26 28 29 31 50
X축으로 Weight
(차의 무게)를, Y축으로는 MPG.highway
(고속도로 연비)로 하는 산점도를 그렸을 때, X
축은 1600~4200까지의 범위로 100씩 증가하는 눈금을, Y
축은 18~52까지의 범위로 2씩 증가하는 눈금으로 그려보겠습니다.
##---------------------------------------------
## 낮은 수준의 그래픽 함수 : axis(side, ...)
##---------------------------------------------
# X 축의 범위 (1600 ~ 4200, by 100)
# Y 축의 범위 (18 ~ 52, by 2)
# 1) X축과 Y축이 없는 산점도를 그립니다.
plot(MPG.highway ~ Weight, Cars93, axes = FALSE,
xlim = c(1600, 4200),
ylim = c(18, 52),
main = "Weight와 MPG.highway의 산점도")
<- seq(1600, 4200, by = 100) # x 축의 눈금 설정
x <- seq(18, 52, by = 2) # y 축의 눈금 설정
y
# 2) X축의 눈금을 그립니다.
axis(side = 1, # bottom side
at = x,
labels = TRUE,
pos = 18, # X 축의 시작점 좌표.
tck = 0.02) # 0.02 길이로 수직 방향의 틱 마크 표시
# 3) Y축의 눈금을 그립니다.
axis(side = 2, # left side +
at = y,
labels = TRUE,
pos = 1600, # Y 축의 시작점 좌표
tck = -0.02) # 0.02 길이로 수평 방향의 틱 마크 표시