문제상황

애플고딕이 마음에 들지 않아, Pretendard 폰트로 바꾸려고 한다.
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc
# MacOS에서 한글 폰트 설정
rc('font', family='AppleGothic')
# 음수 기호(-)가 깨지는 문제 해결
plt.rcParams['axes.unicode_minus'] = False
이에 이 기존 한글 깨짐 방지 코드에서 AppleGothic을 Pretendard로 바꾸려 한다.


그러나 이와같이
findfont: Font family 'Pretendard' not found. 오류가 발생한다.
그 이유는 시스템 상에 설치 되어있더라도 matplotlib 용으로 따로 설치해야 하기 때문
해결방법
import matplotlib
print(matplotlib.matplotlib_fname())
를 입력하여 matplotlib의 경로를 알아낸다.
/opt/anaconda3/lib/python3.11/site-packages/matplotlib/mpl-data/matplotlibrc
가 출력되었다. 이를 우선 복사
Finder > 이동 > 폴더로 이동 클릭

복사했던 경로를 입력

mpl-data > fonts > ttf 클릭


여기에 내가 원하는 ttf 폰트 파일이 있는지 확인한다.

이거밖에 없음 ㅋㅋ

따라서 나의 소중한 Pretendard 폰트를 옮겨준다.

복붙 완료

이후 파이썬에서
mpl.get_cachedir ()
입력하여 캐시 데이터 경로 알아낸다.
필자는 /Users/사용자명/.matplotlib 였다.
이를 아까 했듯이 폴더로 이동 기능으로 이동한다.

fontlist-v330.json 파일이 보이고 이를 연다.

이 중에 내가 원하는 폰트 이름 있는지 찾아봄

내가 원하는 Pretendard는 없고 JP는 있음
'fontlist' json 파일 삭제하고 재부팅한다.

그럼 이제 Pretendard 를 입력해도 안 깨지고 예쁜 차트가 완성된다.
https://kimhongsi.tistory.com/m/entry/Python-matplotilb-pyplot-%EA%B7%B8%EB%9E%98%ED%94%84-%ED%95%9C%EA%B8%80-%EC%9D%8C%EC%88%98-%E3%85%81%E3%85%81%E3%85%81%EB%A1%9C-%EA%B9%A8%EC%A0%B8%EC%84%9C-%EB%82%98%EC%98%AC-%EB%95%8C-%ED%95%B4%EA%B2%B0%EB%B2%95
[Python] matplotilb pyplot 그래프 한글, 음수 ㅁㅁㅁ로 깨져서 나올 때 해결법
문제상황 matplotilb에서 pyplot으로 그래프 그렸는데한글과 음수가 ㅁㅁㅁ로 깨져나오는 것은 유명한 에러임 해결방법 import matplotlib.pyplot as pltfrom matplotlib import font_manager, rc# MacOS에서 한글 폰트
kimhongsi.tistory.com
한글도 안 나오는 상황이라면 위 글 참고
댓글