폰트 적용 코드
일반적으로 matplotlib 에서 한글 폰트를 적용하기 위해서 아래의 코드를 사용한다.
import matplotlib.pyplot as plt
# 폰트 파일 경로
font_path = '/Library/Fonts/YourFont.ttf'
font_name = plt.matplotlib.font_manager.FontProperties(fname=font_path).get_name()
plt.rcParams['font.family'] = font_name
# rc('font', family=font_name)
만약 맥에 설치해둔 특정 OTF 폰트를 사용하고 싶으면 font_path 에 otf 폰트 파일 경로를 넣어준다.
import matplotlib.pyplot as plt
# 폰트 파일 경로
font_path = '/Library/Fonts/YourFont.otf'
font_name = plt.matplotlib.font_manager.FontProperties(fname=font_path).get_name()
plt.rcParams['font.family'] = font_name
# rc('font', family=font_name)
에러 해결법
만약 이렇게 해도 폰트를 찾을 수 없다고 뜬다면, font_manager 모듈에서 폰트 캐시를 삭제해야 한다.
matplotlib는 처음 폰트를 로딩할 때, 폰트 캐시를 생성하는데, 이 캐시가 잘못되어 폰트를 제대로 인식하지 못하는 경우가 있다.
따라서 아래의 코드를 실행하여 폰트 캐시를 삭제하고 다시 시도한다.
from matplotlib import font_manager
font_manager._rebuild()
위 코드를 실행했을 때 _rebuild() 메소드가 없다고 나오면 캐시 파일을 직접 삭제해주면 된다.
캐시 파일을 찾기 위해 아래의 코드를 실행한다.
import matplotlib
print(matplotlib.get_cachedir())
일반적으로 '/Users/<유저 이름>/.matplotlib' 이 경로에 가면 fontlist json 파일이 나오는데 해당 파일을 그냥 삭제하면 된다.
jupyter notebook 을 사용하고 있다면, 껐다가 재실행해준다. 이 후 동일하게 폰트 적용하는 코드를 실행시켜주면 한글 폰트가 잘 출력되는 것을 확인할 수 있다.
'[Python] 연습' 카테고리의 다른 글
[Python] ChatGPT 파인튜닝 예제 (1) | 2024.01.31 |
---|---|
[python] 한국어 띄어쓰기 처리 (0) | 2022.11.13 |
[python] 리스트 형태의 값을 분리하여 각 하나의 값으로 표현하기 (0) | 2022.11.12 |
[python] json 파일 data frame 으로 읽기 (0) | 2022.11.11 |
[python] 프로그래머스 신고결과받기 (0) | 2022.10.29 |