[Python] Colab 사용 시 한글 깨짐 현상 해결 (feat. matplotlib)

python-matplotlib-fix-error-using-korean

해당 포스트에서는 Colab에서 matplotlib로 그래프 출력 시 한글이 깨지는 문제에 대한 해결 방법을 설명합니다.

1. INTRO

개인 분석 환경이 부족한 분들에게는 Google에서 제공하는 Colab이 최고의 대안이 됩니다. 일정 시간이 지나면 세션이 끊긴다는 단점이 있지만, 이 또한 check point를 활용하거나 우회를 통해 무한 활성화시키는 방법 등이 있어 많은 분들이 사용하고 있는 플랫폼입니다.

Colab을 사용하면서 생기는 다른 문제로는 한글 처리의 불완전성입니다. 특히 시각화 라이브러리(matplotlib 등)를 사용할 때 자주 발생하는데 이 문제 해결을 위한 공개된 코드가 있어 공유하니 참고하시면 좋을 것 같습니다.

출처 : HC.Dle – Colab 한글 폰트 코드

2. 한글 폰트 적용 코드

아래 fix_font()를 실행하면 Matplotlib의 기본 폰트가 나눔바른고딕으로 설정되어 한글이 깨지지 않게되며, 코드 실행 후 커널 재시작 없이 적용됩니다. (실행 시간은 약 10초 입니다.)

def fix_font():
    # From https://HC.Dle.pw, By Jinseo Kim
    # v1.0.0
    import os
    import matplotlib as mpl
    import matplotlib.pyplot as plt
    os.system("apt-get install -y fonts-nanum")
    os.system("fc-cache -fv")
    mpl.font_manager._rebuild()
    findfont = mpl.font_manager.fontManager.findfont
    mpl.font_manager.findfont = findfont
    mpl.backends.backend_agg.findfont = findfont
    plt.rcParams['font.family'] = "NanumBarunGothic"
    plt.rcParams['axes.unicode_minus'] = False

fix_font()

3. 적용 결과

위 함수를 통한 문제 해결 예시 입니다.

python-matplotlib-fix-error-using-korean
[출처] 테디노트 - 구글 코랩(colab) 한글 깨짐 현상 해결방법

python-matplotlib-fix-error-using-korean
[출처] 테디노트 - 구글 코랩(colab) 한글 깨짐 현상 해결방법

4. 참고 링크

[1] HC.Dle – Colab 한글 폰트 코드
[2] 구글 코랩(colab) 한글 깨짐 현상 해결방법

banner-request-analysis