Idealim
article thumbnail

이번 글에서는 R 함수의 내장되어 있는 `plot` 함수를 이용하여 데이터를 시각화하는 방법에 대해 알아보겠습니다. 

Plot 함수의 주요 Parameter

`plot()`의 주요 파라미터들에 대해 알아보겠습니다. 먼저, 주요 파라미터들을 살펴보면 다음과 같습니다.

  • `x`, `y` : x, y 좌표 데이터
  • `type` : 어떻게 x,y 좌표를 그릴지 설정 (ex. 점 or 선 or Both ...)
  • `main`, `xlab`, `ylab` : plot 제목, x축 y축 이름
  • `col` : 점과 선의 색상
  • `pch` (point character) : 점의 모양
  • `cex` (character expansion) : 점 크기
  • `lty` (line type) : 선의 타입 (ex. solid, dotted, dashed)
  • `lwd` (line width) : 선의 두께
  • `xlim`, `ylim` : x, y 축의 범위

x, y coordinate(x, y 좌표)

먼저, 필수 파라미터로 x축의 데이터와 y축의 데이터의 파라미터가 있습니다. 

x <- c(0.5, 1.2, 2.6, 3.2)
y <- c(1.1, 1.6, 3.3, -1.1)
plot(x, y)

type (Plot 종류)

`type` 파라미터는 그래프를 어떤 형식으로 그릴지 설정합니다.

type의 인자는 다음과 같습니다.

  • `p` : 점만 표시합니다.
  • `l` : 선만 표시합니다.
  • `b` : 점과 선 둘다 표시합니다.
  • `o` : 점과 선 둘다 표시합니다. 단, 선 위에 점 존재 (아래 그림 참고)
  • `n` : 점과 선을 표시하지 않습니다.

 

par(mfrow=c(2,3))
types = c("p", "l", "b", "o", "n")

for (type in types){
  plot(x,y, type=type, main=type)
}

main, xlab, ylab (제목, x, y축 이름)

이번에는 그래프의 제목과 x, y축 이름을 추가해보겠습니다.

plot(x, y, main = 'title', xlab='x label', ylab = 'ylabel')

 

Col (그래프 색상)

`col`은 그래프의 색상을 설정합니다.

plot(x, y, type = 'o', col = 'blue')
plot(x, y, type = 'o', col = '#FF0000') # 16진법

pch (점의 모양)

일반적으로 R의 기본 pch 값은 1부터 25입니다.

각 번호에 따른 점의 모양은 아래 그래프를 참고해주세요.

pch 1~25

 lty (선 종류)

일반적으로 R의 기본 lty 값은 1부터 6입니다. 각 번호에 따른 직선 모양은 아래 그래프를 참고해주세요.

cex (점의 크기)

점의 크기를 조절하는 옵션입니다. 실수값으로 설정하면 됩니다.

xlim, ylim

c(시작값, 종료값)으로 x, y 축의 범위를 설정할 수 있습니다.


기존 Plot에 추가하기

이미 생성한 plot에 점이나 선, 화살표, 텍스트, 범례등을 추가할 수 있습니다.

points, lines, abline, segments (점, 선 추가하기)

`abline` 함수는 R에서 선을 그리는 데 사용되며, 특히 수평선 또는 수직선을 그릴 때 편리합니다. abline 함수의 주요 파라미터는 다음과 같습니다:

  1. a, b: 선의 방정식을 나타내는 파라미터입니다. 일반적으로 a는 y절편(intercept)이고, b는 기울기(slope)입니다. 예를 들어, abline(a = 0, b = 1)는 y=x라는 선을 그립니다.
  2. h, v: 수평선이나 수직선을 그릴 때 사용하는 파라미터로, 각각 수평선의 y값 또는 수직선의 x값을 나타냅니다. 예를 들어, abline(h = 0)은 y=0인 수평선을 그립니다.
  3. reg: 회귀선을 그릴 때 사용하는 파라미터로, 회귀모델의 객체를 지정합니다. 일반적으로 lm 함수 등으로 얻은 회귀모델을 여기에 전달하여 사용합니다.
  4. coef: reg 파라미터를 사용할 때 회귀계수를 직접 지정할 수 있습니다.
  5. intercept, slope: coef 파라미터를 사용할 때, y절편과 기울기를 직접 지정합니다.

R의 `segments` 함수는 두 점을 연결하는 선분을 그리는 데 사용됩니다. segments 함수의 주요 파라미터는 다음과 같습니다.

  • x0, y0, x1, y1: 각각 선분의 시작점(x0, y0)과 끝점(x1, y1)의 x 및 y 좌표를 지정합니다.

x <- 1:10
y <- seq(1,20,2)
plot(x, y, type="n")
# x=5 기준으로 점 모양 다르게
points(x[x>=5], y[x >=5], pch=3)
points(x[x<5], y[x<5], pch=1)
# 직선 추가
lines(x,y, type="l", lty=1, col='pink', lwd=2)
# 수직, 수평선 추가
abline(v=10 , lty=2)
abline(h=c(5,15), lty=2, col="blue")
# 선분 그리기 
segments(x0=1, x1= 5, y0=10, y1=10, col='orange')
segments(x0=c(0,4),x1=c(2,3),y0=c(2,6),y1=c(5,7), col='red') # 좌표 인자 벡터

arrows, text

화살표와 텍스트를 plot에 추가합니다.

arrows(x0=2, x1=2.5, y0=18, y1=15)
text(x=2, y=19, labels="horizontal abline")

legend (범례)

`legend` 함수는 범례(legend)를 추가하는 데 사용됩니다.

legend("bottomright",legend=c("points1","points2", "lines", "abline", "segments"), 
       col=c('black','black','pink', 'blue','orange','red'),
       pch = c(3, 1, NA, NA, NA),
       lty = c(NA, NA, 1, 2, 2, 1, 1)
       )
  • 범례의 위치는 top, bottom, right, left 를 조합하거나 x, y 좌표를 입력하여 설정할 수 있습니다.

 이상으로 R plot에 대해 알아보았습니다.

 

반응형
profile

Idealim

@Idealim

읽어주셔서 감사합니다. 잘못된 내용이 있으면 언제든 댓글로 피드백 부탁드립니다.