Matplotlib 폰트 설정 방법(한글 깨짐 해결방법)

CODEDRAGON Development/Python

반응형


 

 

 

Matplotlib 폰트 설정 방법(한글 깨짐 해결방법)

·         matplotlib 설정 파일 위치 정보 확인하기

·         FontProperties() 사용하는 방법

·         matplotlib.rcParams[]으로 설정하는 방법

·         FontProperties() plt.rc() 사용하는 방법

·         설정 파일에 직접 지정하는 방법

 

 

 

 

matplotlib 설정 파일 위치 정보 확인하기

설치 위치:  C:\Python\Python36\Lib\site-packages\matplotlib\__init__.py

설정 위치:  C:\Users\codedragon\.matplotlib

캐시 위치:  C:\Users\codedragon\.matplotlib

 

 

폰트파일 정보는 설정 위치의 fontList.json 파일에 저장되어 있습니다.

C:\Users\codedragon\.matplotlib


 

등록된 폰트파일과 폰트파일의 이름(name) 지정하여 사용할 있습니다.


 

fontList.json 파일은 Matplotlib 처음 로딩될때 마다 파일이 최신 내용으로 갱신되어 집니다.

새로만들어진 fontList.json 파일은 309KB에서 313KB 파일 크기가 증가한 것을 있습니다.

캐싱된 내용이 있는 경우 새로운 내용이 적용되지 않을  있습니다. 경우 fontList.json 파일을 삭제한 다시 실행하면 fontList.json 파일이 최신내용으로 새롭게 만들어집니다.


 

 

 

 

FontProperties() 사용하는 방법

그래프의 폰트가 필요한 함수마다 지정해 주어야 합니다. 지정해 항목에만 해당 폰트가 적용 됩니다

 

클래스

함수

matplotlib.pyplot

title()

xlabel()

ylabel()

legend()

text()

matplotlib.axes

set_title()

 

 

Step 1: 폰트 정보를 가지고 있는 FontProperties 객체 생성

fontprop = fm.FontProperties(fname="c:/Windows/Fonts/malgun.ttf", size=14)

fontprop = fm.FontProperties(fname="c:/Windows/Fonts/malgun.ttf").get_name()

 

 

 

Step 2:텍스트를 사용하는 함수에 파라미터로 지정해 줍니다.

plt.xlabel("특성", fontproperties=fontprop)

 

 

 

 

matplotlib.rcParams[]으로 설정하는 방법

·         전역글꼴을 설정 방법입니다.

·         그래프에 설정을 해주면 폰트가 필요한 항목에 적용 됩니다.

 

 

Step 1: 전역글꼴 설정 확인하기

print('폰트 사이즈size)')

print (plt.rcParams['font.size'] )

 

print('폰트 글꼴(family)')

print (plt.rcParams['font.family'] )

폰트 사이즈size)

10.0

폰트 글꼴(family)

['sans-serif']

 

 

Step 2: 전역글꼴 설정 하기

plt.rcParams["font.family"] = "Nanum Pen Script"

plt.rcParams["font.size"] = 12

plt.rcParams["figure.figsize"] = (14,4)

 


 

 

 

 

 

FontProperties() plt.rc() 사용하는 방법

전역폰트를 설정하는 또다른 방법입니다.

 

path = 'C:\\WINDOWS\\Fonts\\NanumBrush.ttf'

font_name = fm.FontProperties(fname=path, size=50).get_name()

print(font_name)

plt.rc('font', family=font_name)

 

 


 

 

 

 

 

설정 파일에 직접 지정하는 방법

·         mpl.matplotlib_fname()으로 설정 파일 위치를 해당 설정파일을 직접 수정하면 모든 곳에서 현재 시스템에서 모두 동일하게 사용할 있습니다.

·         노트북을 사용하는 경우 노트북을 때마다 지정해 주지 않아도 됩니다.

 

 

Step 1: 설정파일 위치 확인하기

print ('설정파일 위치: ', mpl.matplotlib_fname())

설정파일 위치:  C:\Python\Python35-32\lib\site-packages\matplotlib\mpl-data\matplotlibrc

 

C:\Python\Python36\Lib\site-packages\matplotlib\mpl-data


 


 

 

 

Step 2: 설정파일의 font설정 수정하기

194번째 라인에 있는 주석을 삭제한 원하는 글꼴을 설정하면 됩니다.

#font.family         : sans-serif

#font.style          : normal

#font.variant        : normal

#font.weight         : normal

#font.stretch        : normal

font.family         : NanumGothic

#font.style          : normal

#font.variant        : normal

#font.weight         : normal

#font.stretch        : normal