Matplotlib에서 한글폰트 설정
Matplotlib에서 한글 깨짐 현상 해결 방법 (Windows, Colab/Ubuntu)
데이터 시각화 라이브러리인 Matplotlib을 사용하다 보면 한글이 깨져 보이는 현상을 자주 마주하게 됩니다. 매번 해결 방법을 검색하는 번거로움을 덜어드리고자, 운영체제별 설정 방법을 간단하게 정리해 보았습니다.
윈도우(Windows) 환경
윈도우 환경에서는 시스템에 기본적으로 설치된 ‘맑은 고딕(Malgun Gothic)’ 폰트를 지정해주면 간단하게 한글을 표시할 수 있습니다.
import matplotlib.pyplot as plt
# 폰트를 '맑은 고딕'으로 설정
plt.rc('font', family='Malgun Gothic')
코랩(Colab) 및 우분투(Ubuntu) 환경
구글 코랩과 같은 리눅스(우분투) 기반 환경에는 ‘맑은 고딕’ 폰트가 설치되어 있지 않습니다. 따라서 나눔폰트(Nanum Fonts)를 직접 설치하고 Matplotlib의 폰트 캐시를 업데이트해야 합니다.
아래 명령어를 실행하여 나눔폰트를 설치하고, 시스템과 Matplotlib이 폰트를 인식할 수 있도록 캐시를 재생성합니다.
!sudo apt-get install -y fonts-nanum # 나눔글꼴 설치
!sudo fc-cache -fv # 폰트 캐시 재생성
!rm ~/.cache/matplotlib -rf # matplotlib 캐시 삭제
🚨 중요: 코랩 환경에서는 위 셀을 실행한 후, 상단 메뉴에서 ‘런타임’ > ‘런타임 다시 시작’을 클릭하여 세션을 재시작해야 폰트 설정이 정상적으로 반영됩니다.
세션이 다시 시작되었다면, 이제 코드에서 나눔폰트(‘NanumBarunGothic’ 등)를 지정하여 그래프를 그릴 수 있습니다.
import matplotlib.pyplot as plt
# 폰트를 '나눔바른고딕'으로 설정
plt.rc('font', family='NanumBarunGothic')
폰트 설정이 완료되면 아래와 같이 그래프의 제목, 축 레이블 등 모든 요소에 한글이 정상적으로 표시되는 것을 확인할 수 있습니다.
import numpy as np
import matplotlib.pyplot as plt
# 나눔폰트로 설정 (위에서 이미 실행했다면 생략 가능)
plt.rc('font', family='NanumBarunGothic')
# 데이터 및 그래프 생성
fig = plt.figure(figsize=(8, 4))
ax = plt.subplot(1, 1, 1)
ax.bar(['가', '나', '다', '라', '마'], np.random.random(5))
ax.grid(True)
# 제목 및 축 레이블 설정
ax.set_title('나눔고딕으로 작성한 제목입니다.')
ax.set_xlabel('X축')
ax.set_ylabel('Y축')
plt.show()