프로그래밍/파이썬

[Matplotlib] 타이틀(title)에서 한글 사용하기

레까 2024. 7. 2. 09:22

- 개요

우리는 matplotlib 라이브러리를 사용해서 다양한 그림을 그립니다.

하지만 Matplotlib의 기본 설정에서는 figure의 제목이나 x축, y축 타이틀을 한글로 적을 수 없습니다.

그럼 어떻게 해야 matplotlib의 그림에서 한글을 쓸 수 있는지 알아보겠습니다.

 

- Matplotlib에서 한글 사용하기 (개별 설정)

한글 폰트를 사용하는 방법은 간단합니다.

한글 폰트를 사용하고자 부분에서 fonproperties를 설정해주면 됩니다.

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

fn_font = 'NanumGothic.ttf' # 나눔고딕 폰트 사용


fig, ax = plt.subplots(1, 2, figsize=(6,3))

"""
fontprop를 정의할 때 fontsize를 설정하여 글자 크기를 조절합니다.
set_title, set_xlabel, set_ylabel과 같은 글자를 적는 method를 호출할 때
fontproperties=fontprop를 선언하면 한글을 사용할 수 있습니다.
"""
fontprop = fm.FontProperties(fname=fn_font, size=10)
ax[0].set_title('헬로 월드!', fontproperties = fontprop)
ax[0].set_xlabel('x축 이름', fontproperties = fontprop)
ax[0].set_ylabel('y축 이름', fontproperties = fontprop)

fontprop = fm.FontProperties(fname=fn_font, size=20)
ax[1].set_title('헬로 월드!', fontproperties = fontprop)
ax[1].set_xlabel('x축 이름', fontproperties = fontprop)
ax[1].set_ylabel('y축 이름', fontproperties = fontprop)

# 두 그림이 겹치기 않게 설정
plt.subplots_adjust(wspace=0.4)

plt.show()

 

 

개별설정

 

- Matplotlib에서 한글 사용하기 (전체 설정)

2025.02.10 추가

위에서는 한글이 필요한 부분에서 fontproperties에 fontprop을 넣어서 한글 폰트를 사용했습니다.

이렇게 하나씩 바꾸는 방법 말고도 plt.rc()를 써서 모든 글자의 폰트를 바꾸는 법도 있습니다.

 

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

fn_font = 'NanumGothic.ttf' # 나눔고딕 폰트 사용
fontprop = fm.FontProperties(fname=fn_font)
plt.rc('font', family=fontprop.get_name()) # matplotlib.pyplot을 쓸 때 이 폰트를 쓰겠다는 뜻

fig, ax = plt.subplots(1, 2, figsize=(6,3))

ax[0].set_title('헬로 월드!', size=10)
ax[0].set_xlabel('x축 이름', size=10)
ax[0].set_ylabel('y축 이름', size=10)

ax[1].set_title('헬로 월드!', size=20)
ax[1].set_xlabel('x축 이름', size=20)
ax[1].set_ylabel('y축 이름', size=20)

# 두 그림이 겹치기 않게 설정
plt.subplots_adjust(wspace=0.4)

plt.show()

전체 설정

이상하게도 전체 설정할 때랑 부분 설정할 때랑 글자의 두께가 다르네요.

이렇게 하면 xtick, ytick의 글자 또한 폰트가 바뀌므로 사용에 주의해주세요.