Jupyter Notebook 환경에서 한글 폰트 설정
안녕하세요. 이번 글에서는 주피터 노트북(Jupyter Notebook) 환경에서
한글 텍스트를 포함한 그래프를 그릴 때, 한글 폰트가 깨지는 현상을
해결하는 방법에 대하여 다루어보겠습니다.
한글 깨짐 현상 원인
파이썬 matplotlib에서 아무런 설정 없이 한글이 포함된 그래프를 그리려고 시도하면
아래와 같이 네모 모양으로 한글 텍스트가 깨지는 현상이 생길 수 있습니다.
이는 matplotlib 기본 폰트인 sans-serif가 한글을 지원하지 않아서 생기는 문제로,
한글을 지원하는 폰트 종류로 변경하여 문제를 해결할 수 있습니다.
이제 주피터 노트북 환경에서 한글 적용 폰트로 변경하는 과정을 설명해드리겠습니다.
한글 폰트 다운로드
이번 예제에서는 대표적인 한글 폰트인 나눔고딕을 이용한 예제를 보여드리겠습니다.
물론, 다른 종류의 한글 지원 폰트도 같은 방법으로 적용이 가능합니다.
참고로, 나눔 폰트는 아래 사이트에서 무료로 다운로드가 가능합니다.
다운받은 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 후 폰트 적용 셀을 다시 실행시켜보세요.
번외 : 구글 코랩 한글 폰트 적용
구글 코랩 환경에서 한글 깨짐 현상 해결 과정도 거의 동일하기는 하나,
폰트를 직접 다운로드 받을 필요가 없다는 장점이 있습니다.
이에 관해서는 이전에 작성해둔 포스팅이 있어 링크를 남기는 것으로 마무리하겠습니다.
'Python > Matplotlib' 카테고리의 다른 글
[Matplotlib] 파이썬 워드 클라우드(Word Cloud) 시각화 예제 (1) | 2022.02.15 |
---|---|
[Matplotlib] 파이썬 산점도 색, 크기, 모양, 여러개 겹치기 설정법 (1) | 2022.02.10 |
[Matplotlib] 파이썬 그래프 그리드(격자) 설정 (2) | 2022.01.31 |