주피터 노트북에서 matplotlib 시각화 할 때, 한글 오류 안나게 불러왔는데도 불구하고 위 같은 에러 메시지가 한 바가지 나왔다.
해결1) 이 링크에 따르면 우선 matplotlib에서 가능한 폰트 리스트 확인하고
import matplotlib.font_manager as fm f = [f.name for f in fm.fontManager.ttflist] print(f)
해당 폰트가 리스트에 있다면 _rebulid()로 업데이트 하면 해결이 된다고 한다.
import matplotlib matplotlib.font_manager._rebuild()
근데, 이렇게 해도 해결이 안된다.
모듈을 업데이트 해봐도 안된다.
커널 리스타트하고 해봐도 안된다.
AttributeError: module 'matplotlib.font_manager' has no attribute '_rebuild' 에러만 뜬다.
환장할 노릇이다.
새로생긴 에러를 고치려니 폰트 경로 설정을 직접 해주면 된다는데 그것도 안먹힌다. (참고블로그)
코드를 다시 뜯어보니 plt.style.use('default') 이 코드가 눈에 걸린다.
그렇다. 이 코드가 문제였다.
해결2) 한글 안깨지게 하는 폰트와 스타일 설정을 default로 한 코드를 이 순서로 쓰면 한글이 먹히지 않는다.
# 이렇게 하면 안됨 plt.rc('font',family = 'Malgun Gothic') # 한글 안깨지게 하는 코드 plt.style.use('default')
default 스타일을 사용할 경우 반드시 순서를 지켜야 한다.
plt.style.use('default') plt.rc('font',family = 'Malgun Gothic') # 한글 안깨지게 하는 코드
plt.style.use()의 다른 스타일을 사용할 경우 코드 입력 순서와 상관없이 한글이 먹힌다. 하지만 'default'인 경우는 반드시 한글 안깨지는 코드를 스타일 코드 뒤에 써야 에러가 나지 않는다.
반응형
'Error note' 카테고리의 다른 글
[Python]ValueError: Cannot render objects with any missing geometries (0) | 2023.01.10 |
---|---|
[Jupyter] 500 : Internal Server Error (0) | 2022.12.30 |
[python] spacy : Can't find model 'en_core_web_sm' (0) | 2022.06.08 |
[Linux] centOS 리눅스 한글 입력방법, 한/영키 변환 (0) | 2022.03.15 |
[Linux] maria db, mysql에서 한글이 깨져서 나올 때 해결방법 (0) | 2022.03.15 |