47. matplotlib의 rc에 한글 폰트를 설정할 수 있어요.

안녕하세요. 언휴예요.

이번에는 matplotlib를 이용하여 도표를 그릴 때 한글 폰트를 사용하는 방법을 알아볼게요.

matplotlib에서는 폰트는 rc config 설정을 통해 진행합니다. 이를 위해 먼저 폰트가 있는 경로를 알아야겠죠.

[그림 1] 폰트 폴더 및 폰트 파일명
[그림 1] 폰트 폴더 및 폰트 파일명

특별한 알고리즘을 요구하는 것이 아니므로 바로 실습하기로 할게요. 먼저 필요한 것을 import 합니다. 먼저 matplotlib에서 font_manager와 rc를 사용할 거예요.

#한글 폰트 사용
from matplotlib import font_manager,rc

matplotlib 명도 사용하고 pyplot도 사용할 거예요. pyplot은 plt으로 축약합시다.

import matplotlib
import matplotlib.pyplot as plt

먼저 사용할 폰트가 있는 경로를 지정하세요.

#폰트 경로
font_path = "C:/Windows/Fonts/H2GTRM.TTF"

font_manager의 FontProperties에 폰트 경로를 전달하여 폰트 이름을 얻어오세요.

#폰트 이름 얻어오기
font_name = font_manager.FontProperties(fname=font_path).get_name()

rc를 통해 폰트를 설정합니다.

#font 설정
matplotlib.rc('font',family=font_name)

이제 필요한 작업을 수행하세요.

#작업
plt.plot([1,2,3,4])
plt.xlabel("시간")
plt.ylabel("거리")
plt.show()

실행하면 x 축은 시간, y 축은 거리를 한글로 표시하는 것을 확인할 수 있어요.

[그림 2] 한글 사용
[그림 2] 한글 사용

다음은 이번 실습에 사용한 전체 소스 코드입니다.

#한글 폰트 사용
from matplotlib import font_manager,rc
import matplotlib
import matplotlib.pyplot as plt

#폰트 경로
font_path = "C:/Windows/Fonts/H2GTRM.TTF"

#폰트 이름 얻어오기
font_name = font_manager.FontProperties(fname=font_path).get_name()

#font 설정
matplotlib.rc('font',family=font_name)

#작업
plt.plot([1,2,3,4])
plt.xlabel("시간")
plt.ylabel("거리")
plt.show()