[Linux] linux에서 Matplotlib 한글폰트 설정하기

참고블로그

  • 새로운 환경에서 matplotlib을 쓰려면 한글폰트가 없어 매번 설정을 해줘야하기 때문에 매우 귀찮다.
  • 나중에 또 여러 블로그를 찾는 일을 하지 않기 위해 정리를 하였다.

0) 복붙을 위한 전체코드

  • bash

apt-get install fonts-nanum*
fc-cache -fv
python -c "import matplotlib; print(matplotlib.__file__)"
cp /usr/share/fonts/truetype/nanum/Nanum* /opt/conda/envs/project/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf/
rm -rf ~/.cache/matplotlib/*
  • python

import matplotlib.font_manager
font_list = matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')
[matplotlib.font_manager.FontProperties(fname=font).get_name() for font in font_list if 'Nanum' in font]
\
import matplotlib.pyplot as plt
plt.rc('font', family='NanumGothicCoding')
\
import matplotlib as mpl
mpl.rcParams['axes.unicode_minus'] = False

1) 나눔 폰트 설치하기

[sudo] apt-get install fonts-nanum*

2) 폰트 캐시 삭제하기

fc-cache -fv

3) matplotlib 경로 확인하기

python -c "import matplotlib; print(matplotlib.__file__)"
  • 위의 코드를 입력하면 matplotlib의 경로를 알 수 있다.

4) 폰트 복사하기

cp /usr/share/fonts/truetype/nanum/Nanum* /opt/conda/envs/project/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf/
  • /usr/share/fonts/truetype/nanum/경로에 설치된 Nanum 폰트들을 (3)에서 확인한 matplotlib이 설치된 경로의 ttf 폴더로 옮겨준다.
  • 여기서 옮겨지는 폴더는 본인 상황에 맞게 경로를 지정해주면 된다.

5) matplotlib 폰트 캐시 삭제

rm -rf ~/.cache/matplotlib/*
  • 위의 코드를 통해 matplotlib폰트 캐시를 삭제 해주어야 한다.

6) 폰트 목록 확인하기

import matplotlib.font_manager
font_list = matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')
[matplotlib.font_manager.FontProperties(fname=font).get_name() for font in font_list if 'Nanum' in font]
  • 위의 코드를 python에서 실행시켜주면 적용가능한 Nanum 폰트들의 이름을 확인할 수 있다.

7) 전역 폰트 적용하기

import matplotlib.pyplot as plt
plt.rc('font', family='NanumGothicCoding')
  • plt.rc를 사용하면 전역에서 font를 변경할 수 있다.
  • family의 인자로 (6)에서 확인한 폰트 이름을 골라 넣어주면 한글폰트를 사용가능하다.

etc) 마이너스가 깨질 경우

import matplotlib as mpl
mpl.rcParams['axes.unicode_minus'] = False
  • 위의 코드를 적용하면 마이너스 폰트가 깨지는 경우를 방지할 수 있다.

좋은 웹페이지 즐겨찾기