데이터분석/Python matplotlib

<Python matplotlib> matplotlib 한글 폰트 깨짐 수정[진짜 되는 수정] 따라만 하세요

창조적생각 2021. 8. 16. 16:56

<목차>

1. 오류의 형태

 

2. 해결 과정

 

3. 해결 방법

[바로 해결 방법으로 가실 분은 해결방법을 눌러 이동하세요]

 

파이썬과 matplotlib 등 모든 언어와 라이브러리가 영어를 주 언어로 사용하다보니 한글 사용할 때마다 지독한 앓이를 하고 넘어가는 것 같습니다.

 

matplotlib에서 한글을 사용하면 기본 폰트에 한글 폰트가 없기 때문에 한글들이 깨져 나오게 됩니다.

 

그래서 구글링을 통해 해결을 하려고 했습니다. 그러자 matplotlib의 폰트문제를 해결하는 방법이 몇개 나오더군요.

 

네이버에서 나눔글꼴을 다운 받아 mpl-data 폴더 안에 있는 matplotlibrc 안에서 기본 폰트를 Nanum폰트로 바꾸라고

 

해서 'NamunGothic'을 깔고 변경해보았습니다.

 

하지만 여전히 해결이 되지 않았습니다.

 

findfont: Font family ['NanumGothic'] not found. Falling back to DejaVu Sans. 이런 오류 문구가 뜨면서 말이죠

도저히 안되겠다 싶어 하나하나 다시 살펴보기로 했습니다.

 

2. 해결 과정

 

matplotlib의 모든 폰트 상세를 살펴보기로 했습니다.

http://corazzon.github.io/matplotlib_font_setting

 

matplotlib 한글폰트 사용하기

20 November 2017 matplotlib 한글폰트 사용하기 1. 필요한 패키지를 가져옵니다. # 그래프를 노트북 안에 그리기 위해 설정 %matplotlib inline # 필요한 패키지와 라이브러리를 가져옴 import matplotlib as mpl impor

corazzon.github.io

*킹갓 오늘코드님의 블로그를 참조해서 방법을 사용했습니다.

쭈욱 오늘코드님의 방법을 따라서 쭈욱 살펴보던 중에 폰트 이름을 출력해보다가 이상한 점을 발견했습니다.

바로 여기서 이상한 점을 찾았습니다.

 

여러분은 보이시나요?

 

폰트 의 이름 어디에서도 'nanum'으로 시작하는 폰트를 찾아볼 수가 없는 것이었습니다.

 

'Malgun Gothic' 누가 봐도 한글로 된 폰트 '맑은 고딕'입니다.

그렇습니다. Nanum 폰트가 인식될 때 'Nanum Malgun Gothic' 이 아니라 'Malgun Gothic' 으로 인식이 되는 것이 었습니다.

 

그래서 matplotlibrc 안에서 기본 폰트를 Malgun Gothic 으로 수정해주었습니다.

 

 

수정 후에 다시 matplotlib을 이용해서 그래프를 그려보았습니다.

아주 한글이 잘나왔습니다.

 

넉두리는 여기까지 하고 총 정리를 해서 어떻게 matplotlib에서 한글을 사용하는지에 대해서 방법을 설명해 드리겠습니다.

 

3. 해결 방법

 

(1) 나눔글꼴을 다운받아 설치를 해줍니다.

 

 1) 구글에 나눔글꼴을 검색하여 다운로드 받습니다.

 

 2) 다운 받은 글꼴의 압축을 풀고 그 안에 있는 글꼴을 설치합니다.

 

(2) print ('설정파일 위치: ', mpl.matplotlib_fname()) 를 통해서 설정파일의 위치를 찾아냅니다.

나온 경로를 살펴보고 경로를 통해서 matplotlibrc 파일로 이동합니다.

 

 

(3) 설정파일을 열어(메모장이나 워드패드를 실행프로그램으로 연결하면 들어갈 수 있습니다.) 

 

ctrl + f를 이용해서 font-family를 찾아 Malgun Gothic으로 변경해줍니다.

 

ctrl+f를 통해서 font.family를 찾아주시면 더 쉽게 찾을 수 있습니다

이렇게 하고 다시 주피터 노트북을 켜서 matplotlib을 사용하시면 한글이 적용된 것을 볼 수 있습니다.

 

*긴 글 읽어주셔서 감사합니다.

728x90