반응형
ggplot2 와 gridExtra 패키지가 사용됩니다. 설치가 안되신 분들은 먼저 설치해주셔야 합니다. 화면 분할하는 방법을 먼저 읽고 오셔야 이해가 쉽습니다.
[ggplot2] 화면분할하는 방법 (tistory.com)
화면 분할 그래프를 for문을 이용해서 그려봅시다. 원리는 간단합니다. 리스트를 생성한 뒤, for문을 이용하여 ggplot 그래프를 list 의 각 원소에 입력합니다. do.call 함수로 grid.arrange 함수를 리스트의 모든 원소에 적용해줍니다. grid.arrange 함수는 ggplot 그래프를 변수로 입력받아 화면을 분할하여 그래프를 그려주는 함수입니다.
예시는 아래와 같습니다. 설명은 주석으로 대신합니다.
library(gridExtra)
library(ggplot2)
# 데이터 프레임 생성
x=c(1,2,3)
y1=c(3,3,3)
y2=c(4,4,4)
y3=c(5,5,5)
df=data.frame(x,y1,y2,y3)
#리스트 생성
ls= list()
#생성한 그래프를 리스트 원소로 입력
for(i in 1:3){
ls[[i]]= ggplot()+
geom_line(data=df,aes_string(x=df$x,y=names(df[i+1])))
}
#리스트에 grid.arrange 함수 적용
do.call(grid.arrange,ls)
만약 화면 분할 grid 개수를 설정하고 싶다면 do.call 함수 사용 시 아래와 같은 옵션을 입력하면 됩니다. nrow 는 행의 수를 설정하는 옵션입니다. 열의 수는 ncol 로 입력합니다.
do.call(grid.arrange,c(l1,nrow=5))
반응형
'6. 데이터 시각화 - ggplot2 > 공통' 카테고리의 다른 글
[ggplot2] x,y 변수명 문자로 입력하는 법 (0) | 2023.01.18 |
---|---|
[ggplot2] 화면분할하는 방법 (0) | 2023.01.18 |
[R ggplot] 범례 추가하고 이름,크기,색,진하기 조절하기 (0) | 2022.06.08 |
[R ggplot2] 축 눈금 레이블 크기, bold 설정 (x축, y축) (0) | 2022.05.31 |
[R ggplot2] 축 제목, 크기, bold 설정 (x축, y축) (0) | 2022.05.31 |
댓글