오랑우탄의 반란

[Matplotlib] 한글 폰트 오류 해결 방법 본문

프로그램 세팅 및 오류 해결

[Matplotlib] 한글 폰트 오류 해결 방법

5&2 2024. 7. 30. 20:58
반응형

 

Matplotlib 으로 그래프를 그리고 제목이나 레이블을 한글로 추가하면 아래와 같은 오류가 뜨면서 한글폰트를 프로그램이 인식을 못 하는 오류가 발생할 수 있는데요

C:\Users\User\AppData\Roaming\Python\Python312\site-packages\IPython\core\pylabtools.py:170: 
UserWarning: Glyph 44256 (\N{HANGUL SYLLABLE GO}) missing from font(s) DejaVu Sans.
  fig.canvas.print_figure(bytes_io, **kw)

정말 어노잉합니다..

 

간단한 해결방법을 알려드립니다! 

직접 폰트 설치나 경로를 입력하는 작업을 하지 않아도 되는 간단한 단기 솔루션입니다.

 

단점은 파일을 새로 열어서 돌릴 때마다 다시 실행시켜줘야 한다는 점..

 

 

우선 시스템에 저장된 폰트가 matplotlib 환경에서 어떤 이름으로 쓰이는지 확인해야 합니다. 

 

 

사용 가능한 폰트 리스트 확인

import matplotlib.font_manager as fm
fm.fontManager.ttflist 
[f.name for f in fm.fontManager.ttflist]

 

위 코드를 실행시키면 로컬에 저장되어 있는 모든 폰트가 이렇게 출력됩니다. 

 

 

이 중에서 평소에 사용하시는 한글 폰트명을 찾아서 복사 후 아래 코드에 붙여넣기 하면 완성!

 

폰트 및 글자크기 지정

import matplotlib as mpl
mpl.rcParams['font.family'] = '폰트명'
mpl.rcParams['font.size'] = '글자크기'

 

pyplot 으로도 설정이 가능합니다.

import matplotlib.pyplot as plt
plt.rc('font', family='폰트명')

 

정상적으로 한글이 출력됩니다.

저는 Pretendard 라는 폰트를 사용했는데 ppt 에서 보이는 것과는 조금 다르게 출력되네요.

 

 

정말 간단하죠? 

메모장에 적어뒀다가 급하게 간단한 솔루션이 필요할 때 사용하면 좋습니다. 

반응형