본문 바로가기
Data Analytics with python/[Error solving]

matplotlib 한글 깨짐 현상

by 보끔밥0130 2022. 2. 25.
728x90

 

 

 

 

 

matplotlib 한글 폰트 깨짐 수정하는 법

 

폰트의 이름 출력

In [1]:
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
In [2]:
print('버전 :', mpl.__version__)
print('설치 :', mpl.__file__)
print('설정 :', mpl.get_configdir())
print('캐시 :', mpl.get_cachedir())
print('설정파일 :', mpl.matplotlib_fname())
 
버전 : 3.2.2
설치 : C:\Users\kang\anaconda3\lib\site-packages\matplotlib\__init__.py
설정 : C:\Users\kang\.matplotlib
캐시 : C:\Users\kang\.matplotlib
설정파일 : C:\Users\kang\anaconda3\lib\site-packages\matplotlib\mpl-data\matplotlibrc
In [3]:
# 폰트 목록
font_list = fm.findSystemFonts(fontpaths = None, fontext='ttf')
# ttf 폰트 전체 개수
print(len(font_list))
 
872
In [6]:
font_list[:10]
Out[6]:
['C:\\Windows\\Fonts\\ARLRDBD.TTF',
 'C:\\Windows\\Fonts\\CASTELAR.TTF',
 'C:\\WINDOWS\\Fonts\\LFAXD.TTF',
 'C:\\WINDOWS\\Fonts\\BELLI.TTF',
 'C:\\WINDOWS\\Fonts\\LTYPE.TTF',
 'C:\\Windows\\Fonts\\segoeuii.ttf',
 'C:\\Windows\\Fonts\\CENTURY.TTF',
 'C:\\WINDOWS\\Fonts\\symbol.ttf',
 'C:\\Windows\\Fonts\\Quicksand-Regular.ttf',
 'C:\\WINDOWS\\Fonts\\REFSAN.TTF']
In [7]:
# 폰트 이름
f = [f.name for f in fm.fontManager.ttflist]

# f
Out[7]:
['STIXSizeFourSym',
 'STIXSizeOneSym',
 'STIXGeneral',
 'STIXNonUnicode',
 'DejaVu Serif',
 'STIXSizeOneSym',
 'DejaVu Sans',
 'DejaVu Serif',
 'STIXSizeThreeSym',
 'STIXNonUnicode']
 

'nanum'으로 시작하는 폰트를 찾아보았다.
한글로 된 폰트 중 'NanumGothic'이 있었고 'nanum'폰트를 인실할 때 'nanum malgun gothic'이 아닌 'NanumGothic'으로 인식하고 있었다.

 

해결 방법
1) 나눔글꼴 설치
https://hangeul.naver.com/font
2) 글꼴 설치
3) 설정파일 위치로 찾아가 matplotlibrc 파일로 이동한다.
4) ctrl + F를 사용하여 #font.family : NanumGothic으로 변경
5) 주피터 노트북 재실행 앞으로 family='NanumGothic'로 사용하면 인식됨

728x90

댓글