맥 matplotlib 한글 폰트 깨짐 - maeg matplotlib hangeul ponteu kkaejim

 주피터 노트북에서 matplotlib를 이용하여 한글이 들어간 title를 plot하면 한글이 깨져서 나타난다. 아래 스크린 샷을 참고하면 한글 부분은 네모로 처리된것으로 볼 수 있다. 주피터 노트북이 기본적으로 한글 지원 폰트가 아니기 때문에 이러한 문제가 발생하는데, 적용하고자 하는 한글 폰트를 설치하고 시스템에 세팅만 하면 쉽게 해결할 수 있다. 

한글 폰트 추가

 네이버에서 폰트를 공짜로 뿌리고 있다. 네이버에 들어가서 폰트를 다운로드 받도록 한다. 

hangeul.naver.com/2017/nanum

[네이버 한글한글 아름답게 : 글꼴모음]

한글의 아름다움, 나눔글꼴로 나눕니다.

hangeul.naver.com

Window10 기준으로, 경로에 C:\Windows\Fonts 네이버에서 다운 받은 폰트들을 Fonts 파일에 추가합니다. 

한글 폰트 영구 등록

import matplotlib print(matplotlib.matplotlib_fname())

윗 경로에 위치한 matplotlibrc 파일이 matplotlib 설정파일이다. 메모장으로 열고 ctrl + f 를 통해 font.family 를 찾는다.

# font.family : sans_serif

주석 처리된 부분을 자신이 원하는 한글 폰트로 바꾼다(여기서는 NanumGothic으로 사용).

font.family : NamumGothic

한글 폰트 적용은 완료 되었지만 - (마이너스) 기호는 깨져보인다. 마이너스 기호를 정상적으로 출력하기 위해서는 하나더 고쳐야 한다. 

ctrl + f로 axes.unicode_minus 부분을 찾아 True 부분을 False 로 바꾼다.

#axes.unicode_minus : True ## use unicode for the minus symbol

윗 코드 라인을 아래와 같이 바꾼다.

axes.unicode_minus : False ## use unicode for the minus symbol

폰트가 제대로 들어가는지 확인하기 위해 아래 코드를 입력하면 

import matplotlib.pyplot as plt plt.rcParams["font.family"] = "NamumGothic"

Font family [fontname] not found 에러가 뜰것이다. 주피터 노트북의 캐시파일이 default 폰트 적용 되어있어 캐시파일을 지우면 된다. 

Font family [fontname] not found 에러

import matplotlib print(matplotlib.get_cachedir())

윗 경로에 위치한 파일과 폴더를 전부 삭제한다. 

주피터 노트북을 재실행하면 다음과 같이 한글이 제대로 출력된다. 

import matplotlib

from matplotlib import font_manager, rc

import platform

try:

    if platform.system() == 'Windows':

        #윈도우인 경우

        font_name = font_manager.FontProperties(fname="c:/Windows/fonts/malgun.ttf").get_name()

        rc('font', family=font_name)

    else:

        #Mac 경우

        rc('font', family='AppleGothic')

except:

    pass

matplotlib.rcParams['axes.unicode_minus'] = False

Oracle SQL

Matplotlib는 한글 폰트를 지원하지 않습니다.

한글로 출력되어야 하는 부분은 네모 박스로 표시되게 됩니다.

Matplotlib를 사용하는 파이썬 프로그램의 앞에

한글 폰트를 지정하는 코드를 추가합니다.

다음 알집 파일을 해제하면 한글 폰트가 있습니다.

korean.7z

5.71MB

from matplotlib import font_manager,rc font_path="d:\\판다스 실습\\korean.ttf" font_name=font_manager.FontProperties(fname=font_path).get_name() rc('font',family=font_name)

위 코드를 실행시킵니다.

다시 그래프를 그려보면 한글이 정상적으로 출력됩니다.

### MAC OS 한글 폰트 

맥 os 한글 폰트 오류 수정하는 방법입니다.

from matplotlib import rc rc('font',family='AppleGothic')

Toplist

최신 우편물

태그