데이터사이언스/시각화

[오류] matplotlib 한글깨짐 해결 (2)

bonanza 2021. 1. 15. 21:33

기존 블로그에서 안되는 경우들이 발생한다.

 -> 대부분 font의 경로를 못잡는 경우이다.

2021/01/15 - [시각화] - [오류] matplotlib 한글깨짐 해결 (1)

 

[오류] matplotlib 한글깨짐 해결 (1)

한글을 분석할때 발생하는 현상인 한글 깨짐 현상을 해결해보자. 현상은 다음과 같다. 필요 라이브러리: matplotlib 우선 matplotllib을 import해야된다. * 일반적으로 matplotlib내 pyplot 모듈을 쓰고, 보통

databonanza.tistory.com

 

이럴때는 font의 경로를 직접잡아주자!

 

필요라이브러리: matplotlib

 

matplotlib에서는 font_manager라는 모듈이 있다.

 

1. 사용할 수 있는 font 경로 확인

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
print(fm.findSystemFonts(fontpaths=None, fontext='ttf'))

 - 기본적으로 windows에 깔린 폰트는 C:/Windows/Fonts 에 저장된다.

 - 이중에 NanumGothic 이 있는지 찾아본다 (Ctrl + F)

 

2. 있으면 폰트 설정으로 변경한다.

plt.rc('font', family='NanumGothic')
print(plt.rcParams['font.family'])

 

3. <중요> C:/Windows/Fonts 가 아닌 경로에 설치된 경우

 - C:/Windows/Fonts 가 아닌 경로에 설치된 경우 해당 경로를 강제로 잡아준다.

 - 이런 경우는 window의 사용자가 많아서 각 사용자별로 font를 관리하는 경우이다. (그런 경우 극히 드뭄)

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
font_location = 'C:/Windows/Fonts/NanumGothic.ttf'  #font 경로 설정
font_name = fm.FontProperties(fname=font_location).get_name()
plt.rc('font', family=font_name)

 - 나같은 경우에 C:/Windows/Fonts 에 있었지만 다른 경로면

 - 코드내 font_location에 path를 잡아주면 된다.

 예) font_location = 'C:\Users\사용자계정\AppData\Local\Microsoft\Windows\Fonts/NanumGothic.ttf'

 * 실제 사용자별 계정은  'C:\Users\사용자계정\AppData\Local\Microsoft\Windows\Fonts' 에서 관리 된다.

반응형