Matplotlib 한글폰트 적용 예제 - Windows 10

Page content

강의소개

  • 인프런에서 Streamlit 관련 강의를 진행하고 있습니다.
  • 인프런 : https://inf.run/YPniH

개요

  • 한글폰트를 다운로드 받아서 matplotlib에 적용하는 코드를 작성해본다.
  • 주요 코드를 기억해서 업무에 활용해보도록 한다.

폰트 다운로드

Untitled

  • 스크롤을 내리면 TTF 다운로드 버튼을 클릭한다.

Untitled

폰트 설치

  • 다운로드 받은 폰트를 압축을 푼다.

Untitled

캐시 정리

  • 일반적으로는 다른 오피스 프로그램을 사용할 때는 위 폰트를 글꼴 설정에 추가하면 끝이다.

Untitled

  • 그러나, Matplotlib에서는 글꼴 설정이 끝이 아니라 Matplotlib에서 관리하는 폰트에 해당 글꼴이 들어있느냐가 매우 중요하다.
  • 캐시 등록 과정은 아래를 확인한다.
    • 먼저 해당 위치에 폰트가 있는지를 확인한다.
import matplotlib as mpl
print(mpl.matplotlib_fname())
C:\Users\human\Desktop\python_finance_lecture\venv\lib\site-packages\matplotlib\mpl-data\matplotlibrc

Untitled

  • 위 그림에서 보는 것 처럼 다운로드 받은 폰트를 존재하지 않는다.
    • 해당 폴더에 다운로드 받은 폴더를 복사한다.

Untitled

  • 또 하나 확인해야 하는 것이 캐시 이다.
print(mpl.get_cachedir())
C:\Users\human\.matplotlib

Untitled

  • 위 파일을 메모장을 열고, Kopub이 있는지 검색한다. 여기에 등록이 되어 있었야, 해당 폰트 이름을 적용할 수 있다.

Untitled

  • 그런데, 보는 것처럼 찾을 수 없다고 뜬다. 즉, 등록이 안된 것이다. 이 때, 위 파일을 삭제하고, 컴퓨터 재부팅을 한다.
  • 기 작성된 Matplotlib 소스코드를 실행하면, 이제 KoPub을 재 검색하면 아래 화면과 같이 나타나는 것을 확인할 수 있다.

Untitled

Matplotlib에의 적용

  • 이제 한글폰트를 적용해보는 코드를 작성해본다.
import matplotlib as mpl

mpl.rcParams['font.family'] = "KoPubWorldDotum"
mpl.rcParams['font.size'] = 10

plt.plot([1,2,3])
plt.legend(['가나다'])
plt.title("안녕하세요, 한글폰트입니다.")
plt.show()

Untitled

  • 이번에는 다른 폰트를 추가해본다.
mpl.rcParams['font.family'] = "KoPubWorldBatang"
mpl.rcParams['font.size'] = 10

plt.plot([1,2,3])
plt.legend(['가나다'])
plt.title("안녕하세요, 한글폰트입니다.")
plt.show()

Untitled