Python/Matplotlib

[Matplotlib] 주피터 노트북 그래프 한글 깨짐 해결법

jimmy_AI 2022. 2. 14. 19:52
반응형

Jupyter Notebook 환경에서 한글 폰트 설정

안녕하세요. 이번 글에서는 주피터 노트북(Jupyter Notebook) 환경에서

한글 텍스트를 포함한 그래프를 그릴 때, 한글 폰트가 깨지는 현상을

해결하는 방법에 대하여 다루어보겠습니다.

 

 

한글 깨짐 현상 원인

파이썬 matplotlib에서 아무런 설정 없이 한글이 포함된 그래프를 그리려고 시도하면

아래와 같이 네모 모양으로 한글 텍스트가 깨지는 현상이 생길 수 있습니다.

이는 matplotlib 기본 폰트인 sans-serif가 한글을 지원하지 않아서 생기는 문제로,

한글을 지원하는 폰트 종류로 변경하여 문제를 해결할 수 있습니다.

이제 주피터 노트북 환경에서 한글 적용 폰트로 변경하는 과정을 설명해드리겠습니다.

 

 

한글 폰트 다운로드

이번 예제에서는 대표적인 한글 폰트인 나눔고딕을 이용한 예제를 보여드리겠습니다.

물론, 다른 종류의 한글 지원 폰트도 같은 방법으로 적용이 가능합니다.

 

참고로, 나눔 폰트는 아래 사이트에서 무료로 다운로드가 가능합니다.

 

네이버 글꼴 모음

네이버가 만든 150여종의 글꼴을 한번에 만나보세요

hangeul.naver.com

다운받은 ttf 파일을 접근이 편한 디렉토리에 넣어주시면 됩니다.

(작업 중인 ipynb 파일과 같은 폴더 내에 다운로드를 권장합니다.)

반응형

폰트 변경 코드 적용

이제, 다운로드 받은 ttf 파일을 이용하여 matplotlib에서 사용하는

폰트를 변경해주시면 됩니다.

 

파일 디렉토리 및 파일 이름에 유의하며 아래의 코드를 입력 후 실행해주세요.

from matplotlib import rc
import matplotlib.font_manager as fm

fm._rebuild()
fm.get_fontconfig_fonts()

# 디렉토리 및 파일 이름에 맞추어 변경
font_location = './NanumGothic.ttf'

font_name = fm.FontProperties(fname=font_location).get_name()
rc('font', family=font_name)

그래프를 그렸을 때, 아래와 같이 한글이 잘 출력되면 적용이 완료된 것입니다.

만일, 적용에 실패 시 Restart 후 폰트 적용 셀을 다시 실행시켜보세요.

 

 

번외 : 구글 코랩 한글 폰트 적용

구글 코랩 환경에서 한글 깨짐 현상 해결 과정도 거의 동일하기는 하나,

폰트를 직접 다운로드 받을 필요가 없다는 장점이 있습니다.

 

이에 관해서는 이전에 작성해둔 포스팅이 있어 링크를 남기는 것으로 마무리하겠습니다.

 

[Matplotlib] 코랩 한글 깨짐 해결법 (Colab plt 그래프 한글 적용)

안녕하세요. matplotlib (plt)를 코랩 환경에서 사용 중 그래프에 한글을 출력해야 할 때, 그대로 출력하면 한글 깨짐 현상이 발생하게 되는데요, 이번 포스팅에서는 이 한글 깨짐 현상을 해결하는

jimmy-ai.tistory.com