필자가 통계를 주로 설명하는 블로그를 운영하고 있다보니, 그래프를 그릴 일이 많다. 아무래도 시각적인 것이 글로 써져있는 것보다 훨씬 잘 눈에 들어오기 때문일 것이다. 그 중에서도 가장 많이 사용되는 것을 꼽으라면 단연 XY plot이다. 매번 XYplot을 그리는 입장에서 코드 쓰는게 여간 귀찮은게 아니었다. 따라서 좀 더 빨리 XY plot을 그리고 싶은 마음이 있었는데, 마침 예전에 필자가 기본 패키지를 사용하여 예쁜 XY 그래프를 그리는 것을 연재한 것이 생각나, 이번에 시간을 내어 그 때 사용했던 코드를 r4issactoast
에 넣어놓았다.
r4issactoast 패키지를 통한 XY-plot 빠르게 그리기
# remotes::install_github("issactoast/r4issactoast")
library(r4issactoast)
현재 필자가 설정해놓은 함수는 다음과 같은 4가지이다.
- emptyPlot
- add_line
- add_points
- add_fcn
위의 4개의 함수의 사용법을 설명하도록 하겠다.
emptyPlot
emptyPlot의 경우 두 개의 입력값을 사용한다. xrange와 yrange이다. 각각은 왼쪽과 오른쪽, 아래쪽와 위쪽의 값을 명시하는 벡터형식으로 넘겨준다.
emptyPlot(xrange = c(-3, 3), yrange = c(0, 3))
위의 그래프는 기본 패키지를 이용해서 그린것이므로 제목과 x, y축의 레이블을 달려면 title함수를 이용하면 된다.
title(main = "Test title",
xlab = "x values",
ylab = "y values")
add_line, add_points
x와 이에 대응하는 y 벡터가 있을 경우, 다음과 같이 선과 점을 추가할 수 있다.
x <- seq(-3, 3, by = 0.1)
y <- x^2
y2 <- sin(x) + 1
add_line(x, y, col = "red")
add_points(x, y2, col = "blue")
add_fcn
만약 자신이 정의한 함수가 있다면 다음과 같이 넣을 수 있다. 현재 add_fcn
함수는 양 끝점을 기준으로 100개의 포인트를 발생시켜 line 그래프를 그리도록 설정되어 있다.
g <- function(x){sin(x) + 0.1 * x^2}
add_fcn(g, col = "purple")
add_fcn(dnorm, col = "green")
소스코드 및 응용
독자들은 필자가 사용한 코드를 응용하여 자신만의 테마를 만들어 자신의 패키지에 넣어 사용할 수 있을 것이라 생각한다. 필자의 github의 r4issactoast패키지의 R
폴더에 graphic.R 파일에 코드를 업데이트 해놓았다.
Reference
r4issactoast 패키지: https://github.com/issactoast/r4issactoast
'R > R시각화' 카테고리의 다른 글
R을 사용한 논문용 그래프 - 4강. 여러 그래프를 한번에 그리기 mfrow() (0) | 2023.06.10 |
---|---|
R을 사용한 논문용 그래프 - 3강. 범례 넣기와 그래프 겹쳐 그리기 (0) | 2023.06.10 |
R을 사용한 논문용 그래프 - 2강. 배경색 지정 및 수학 기호로 제목 달기 (0) | 2023.06.10 |
R을 사용한 논문용 그래프 그리기 - 1강. 축 및 배경 기준선 그리기 (0) | 2023.06.10 |
ggplot 산점도 완전 정복 (0) | 2021.01.06 |
댓글