이번 게시글에선 R의 그래프 저장하는 방법을 다뤄보도록 한다.
Rstudio는 직접 마우스로 클릭 클릭하여 Plots 패널에 그려진 그래프를 저장할 수 있다.
하지만, 많은 양의 그래프를 반복적으로 작업하여 저장해야 할 때 귀찮을 수밖에 없다.
그래프를 "코드"를 사용하여 저장하는 법에 대해 다루겠다.
1. png(), jpeg(), bmp(), tiff() 함수의 사용.
위의 4가지 함수들은 R에서 만든 그래프를 각각의 파일 형식으로 저장하기 위한 함수이다.
4가지 함수는 사용법이 같으며, png() 함수에서 .jpeg 확장자로도 저장은 가능하다..
먼저, png()를 통해 코드 예시를 보자.
png() 함수와 dev.off() 사이에 그리고자 하는 그래프를 그리는 코드를 작성하면 된다.
아래의 코드에서 사용하면 좋은 옵션들은 다음과 같다.
- filename: 출력할 파일의 경로. 혹은 현재 파일 위치에 저장하고 싶다면, 아래처럼 그래프 이름만 입력한다. (단, 파일 확장자명은 함수가 아니라 이 옵션에서 설정되므로 확장자를 꼭 지정하자.)
- width, height: 출력할 파일의 너비와 높이.
- units: 앞에서 설정한 너비와 높이의 단위 (px 이 기본 옵션이며, in, cm, mm 사용 가능).
- bg (background): 배경색, 보통 투명한 배경을 원한다면 transparent, 하얀 배경을 원한다면 white를 사용.
# R 그래프 저장 코드
x= 1:20
y= (x-10)^2
png(filename="Basic.png", width=300, height=300, unit="px",bg="transparent")
plot(x=x, y=y)
dev.off()
아래와 같이 그래프 확인이 가능하며, ggplot으로 그려진 그래프도 해당 함수로 저장 가능하다.
2. ggsave() in ggplot2 package
ggsave()는 ggplot 함수를 통해 그려진 그래프를 저장하는 함수이다.
ggsave()에서 사용가능한 옵션은 다음과 같다. 미리 그래프를 객체로 저장해 두고, 나중에 각 객체를 저장해도 된다는 특징이 있다.
그 외로 거의 옵션은 유사하다.
- filename: 출력할 파일의 경로. 혹은 현재 파일 위치에 저장하고 싶다면, 아래처럼 그래프 이름만 입력한다. (device 옵션은 지정하지 않아도 특별한 에러 없이 잘 저장되는 것 같다.)
- width, height: 출력할 파일의 너비와 높이.
- units: 앞에서 설정한 너비와 높이의 단위 (px 이 기본 옵션이며, in, cm, mm 사용 가능).
dt <- data.frame(x, y)
g1 <- ggplot(dt, aes(x=x, y=y)) + geom_point()
ggsave(g1, filename="ggBasic.png", device="png", width=600, height=600, unit="px")
3. for 문의 응용
이전 글에서 for문으로 ggplot 그래프를 생성하는 법에 대해 다루었다.
이 때, assign()이 아닌 ggsave() + paste0()를 사용한다면 for문마다 생성되는 그래프를 서로 다른 이름으로 저장할 수 있다.
위의 게시글을 응용하여 8개의 그림을 개별의 이름으로 저장하는 코드는 다음과 같다.
theme_set(theme_bw())
for (s in 1:8) {
tmp <- SIM_Results[SIM_Results$setting==s, ]
g <- ggplot(data=tmp, aes(x=nn, y=mean_ACC, color=Criteria)) + geom_line()+
scale_x_continuous(breaks=c(200, 400, 800) ) + scale_y_continuous(limit=c(0,1))+
theme(legend.position ='none') +
xlab("") + ylab("") + labs(title=paste0("scenario ", s))
file_addr <- paste0('Accuracy_', s, ".png")
ggsave(g, filename=file_addr, width=600, height=600, units="px")
}
'R Programming > Data Visualization' 카테고리의 다른 글
[R] ggplot 색 변경 color & palette 설정 (0) | 2023.12.10 |
---|---|
[R] ggplot legend 범례 설정 (제목, 위치, 글씨) (0) | 2023.12.10 |
[R] 그래프 제목에 수식과 문자 함께 넣기: expression, paste (2) | 2023.11.09 |
[R] ggplot2 테마 적용으로 쉽게 그래프 꾸미기 (1) | 2023.11.02 |
[R] ggplot 수직선, 수평선 그리기: vline, hline (0) | 2023.10.11 |