본문 바로가기

회사생활/R

맥 또는 서버에서 ggplot 한글 깨짐 해결방법

 

맥 또는 서버 환경에서 ggplot2 라이브러리 사용시 한글이 깨지는 경우가 있는데 아래 3가지를 해결해야 한다.

 

1. 내 맥 또는 서버에 한글 글꼴(ttf 폰트)이 설치하기

나는 네이버 나눔고딕을 받아서 설치했는데, 여기서 중요한 것은 꼭 ttf 폰트를 설치해야 한다는 것이다. 폰트 설치 후에는 /Library/Fonts/, /System/Library/Fonts, /~Library/Fonts/ 등 폴더에 한글 ttf 폰트 파일이 있는지 확인하자.

 

[네이버 한글한글아름답게 : 마루 프로젝트]

마루 프로젝트는 디지털 화면용 부리 글꼴을 사용자와 함께 만들어 갑니다.

hangeul.naver.com

 

2. R에 한글 글꼴을 import 하기

R에서 아래 코드를 실행한다.

install.packages("extrafont")
library(extrafont)

font_import()

 

여기서 콘솔에 y를 입력하고 엔터를 치면 아래와 같이 ttf 폰트 Import가 실행된다. 이 함수는 아래 빨간 글씨에 써 있는 대로 /Library/Fonts/, /System/Library/Fonts, /~Library/Fonts/ 폴더를 뒤져서 그 안에 있는 ttf 폰트 파일만 가져오므로, 뭔가 이후 스텝이 잘 안될 때는 이 폴더들에 ttf 파일이 있는지 확인해보자.

 

3. ggplot 테마의 기본 글꼴로 적용하기

이제는 불러온 폰트를 ggplot 테마 옵션으로 적용한다. theme_set 라인의 코드가 theme_grey (ggplot 디폴트 테마)의 기본 폰트를 나눔고딕으로 설정해주는 부분이다. 그 부분이 있을 때와 없을 때의 ggplot 그래프 예시는 아래와 같다.

library(ggplot2)

theme_set(theme_grey(base_family='NanumGothic'))

ggplot(dt, aes(x = idx, y = volume, colour = shop, group = shop)) + 
	geom_line(alpha = 0.6) + geom_point(cex = 1) + 
    scale_colour_manual(values = c("orange", "seagreen", "navy")) + 
    scale_y_continuous(label = scales::comma) + 
    labs(x = "경과일수", y = "결제금액", colour = "가맹점명")