문제상황
![](https://blog.kakaocdn.net/dn/brpNqG/btsJ2UCueZQ/VSOhKkujwRAVS0NPypQjb0/img.png)
애플고딕이 마음에 들지 않아, 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로 바꾸려 한다.
![](https://blog.kakaocdn.net/dn/M6E7W/btsJ4eTF9kc/5Gly6CeAPOoFZvJjcAbP20/img.png)
![](https://blog.kakaocdn.net/dn/doCtEr/btsJ3hX7InZ/JRCywcVKAYBS3DRYOqe6C1/img.png)
그러나 이와같이
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 > 이동 > 폴더로 이동 클릭
![](https://blog.kakaocdn.net/dn/zw2f2/btsJ3j2Jf2i/hgm0gWnhBmKrfvtreo2qbK/img.png)
복사했던 경로를 입력
![](https://blog.kakaocdn.net/dn/bJEFAN/btsJ3OVvRMF/YMYm9PPMzvi8bmdDCB2wZk/img.png)
mpl-data > fonts > ttf 클릭
![](https://blog.kakaocdn.net/dn/bTT0uv/btsJ353NBSb/wBs1Ykpafkkozv6AaxUVMk/img.png)
![](https://blog.kakaocdn.net/dn/vFIUx/btsJ2X65jG3/2n6yGSkjF8de5nklbkeSL0/img.png)
여기에 내가 원하는 ttf 폰트 파일이 있는지 확인한다.
![](https://blog.kakaocdn.net/dn/XMo3B/btsJ3JmE4vZ/cMd6qBR4ybUkwrp1pHm4Zk/img.png)
이거밖에 없음 ㅋㅋ
![](https://blog.kakaocdn.net/dn/4AmT6/btsJ4cBCp2y/c0RNho9EViZe1J1wmvV260/img.png)
따라서 나의 소중한 Pretendard 폰트를 옮겨준다.
![](https://blog.kakaocdn.net/dn/9abB8/btsJ4iuVSha/P5x23UUHiAcQCV2ujV8gE1/img.png)
복붙 완료
![](https://blog.kakaocdn.net/dn/dFORcs/btsJ28Awiby/n000JY4VhtRTvwTiHYr8DK/img.png)
이후 파이썬에서
mpl.get_cachedir ()
입력하여 캐시 데이터 경로 알아낸다.
필자는 /Users/사용자명/.matplotlib 였다.
이를 아까 했듯이 폴더로 이동 기능으로 이동한다.
![](https://blog.kakaocdn.net/dn/bxFQAQ/btsJ3HWErJL/9N33PK1lbbTJU1klbtHhk0/img.png)
fontlist-v330.json 파일이 보이고 이를 연다.
![](https://blog.kakaocdn.net/dn/bSo7BQ/btsJ27au0Nr/NKmFwX4RENADBcOOE0JQZ0/img.png)
이 중에 내가 원하는 폰트 이름 있는지 찾아봄
![](https://blog.kakaocdn.net/dn/b5Qcsj/btsJ2RMrIk5/ukwvcAgl4nrMMj7abLgblk/img.png)
내가 원하는 Pretendard는 없고 JP는 있음
'fontlist' json 파일 삭제하고 재부팅한다.
![](https://blog.kakaocdn.net/dn/cnd4Rx/btsJ3f0jyl5/4gZkxEFDJ502WNYKzyMi60/img.png)
그럼 이제 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
한글도 안 나오는 상황이라면 위 글 참고
댓글