🙀 파이썬으로 시작하는 데이터 사이언스 '3.3 결측치 다루기'를 듣던 중 그래프를 그리는데 한글 폰트가 표시가 안된다.
여러 방법 시도하다 나눔 폰트를 설치하고 해결했는데 같이 해보자!
- Google Colab 사용
++ 이후 계속 한글 폰트 적용 에러를 겪은 점 (11.25 내용 추가)
!pip install koreanize-matplotlib
import matplotlib.pyplot as plt
import koreanize_matplotlib
밑에 써놓은 직접 나눔 폰트를 설치하는 방법과 똑같이 나눔 폰트를 사용하는 방법.
위 코드가 한글 설정하는데 제일 간단한 코드이다.
참고 : https://github.com/ychoi-kr/koreanize-matplotlib
이렇게 설정하고도 데이터 시각화하면서 계속 일부가 한글 표시가 안 되는 문제가 있었는데 결론적으로는 한글 폰트 설정에 문제가 있는 게 아니라 코드가 잘못되어서 안보였던 문제였다. 제일 중요한 건 설치 후 런타임 다시 시작해보기! 너무 많이 시도해봤다면 밑에 코드를 이용해 캐시를 삭제해주고 재설정해주는 것도 방법이 될 수 있다.
# 홈 디렉토리 matplotlib 캐시 파일 삭제
$ rm -rf ~/.cache/matplotlib
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "NanumGothic"
그런데도 문제 해결이 안 된다면 한글 폰트 설정 문제보다 잘못된 코드를 짰을 수도 있다.
판다스 한글 폰트 안 보이는 문제 해결 요약
1. 제일 간단한 방법으로 한글 폰트 설정 추천
2. 안된다면 설치 후 런타임 다시 시작하기
3. 2도 안된다면 캐시 파일 삭제 후 다시 해보기
4. 아무 방법도 안된다면 코드가 잘못됐을 가능성이 높으니 코드 수정하기
+) 시각화 폰트 추가 설정
from IPython.display import set_matplotlib_formats
# 폰트가 선명하게 보이기 위해
set_matplotlib_formats('retina')
# 그래프가 노트북 안에 보이게 하기 위해
%matplotlib inline
위 코드는 상단에 항상 입력해주는게 좋다.
(koreanize_matplotlib을 몰랐을 때 설정 방법)
문제
한글 폰트가 네모로 표시되고 보이지 않는다.
해결 방법
!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf
1. 나눔 폰트 설치 후 런타임 재시작하기 (상단 메뉴 런타임 → 런타임 다시 시작)
import matplotlib.pyplot as plt
plt.rc('font', family='NanumBarunGothic')
plt.rc('axes', unicode_minus=False)
# 그래프가 노트북 안에 보이게 하기 위해
%matplotlib inline
from IPython.display import set_matplotlib_formats
# 폰트가 선명하게 보이기 위해 - 그래프에 retina display 적용
%config InlineBackend.figure_format = 'retina'
# retina 대신 svg 등의 설정을 할 수도 있으며
# 디스플레이(모니터)가 retina를 지원해야만 선명한 차이를 볼 수 있습니다.
2. 위 코드를 그대로 작성해준다.
(폰트 요소 외 나머지는 위 주석 설명처럼 그래프를 잘 보이게 하기 위해 공통적으로 들어간다.)
[]가 아니라 이제 잘 보이는 한글!
+) rot로 옵션을 지정해주면 글자의 회전 각도를 설정할 수 있다.
보기 좋게 만들기
글자가 겹쳐 잘 안 보이는 문제도 해결해보자!
1. barh()을 활용 세로 막대형 그래프로 만들기(선택 사항)
2. 적절한 figsize(가로길이, 세로 길이)를 설정해주어 보기 좋게 만든다.
글자 겹침 문제 해결! 🥳
시도했지만 안 먹힌 방법
import matplotlib.pyplot as plt
# Window 의 한글 폰트 설정
plt.rc('font',family='Malgun Gothic')
# Mac 의 한글 폰트 설정
plt.rc('font', family='AppleGothic')
plt.rc('axes', unicode_minus=False)
import platform
if platform.system() == 'Darwin': #맥
plt.rc('font', family='AppleGothic')
elif platform.system() == 'Windows': #윈도우
plt.rc('font', family='Malgun Gothic')
elif platform.system() == 'Linux': #리눅스 (구글 콜랩)
#!wget "<https://www.wfonts.com/download/data/2016/06/13/malgun-gothic/malgun.ttf>"
#!mv malgun.ttf /usr/share/fonts/truetype/
#import matplotlib.font_manager as fm
#fm._rebuild()
plt.rc('font', family='Malgun Gothic')
plt.rcParams['axes.unicode_minus'] = False #한글 폰트 사용시 마이너스 폰트 깨짐 해결
등등 해봤지만 변화 x
참고 강의
현재 부스트코스에서 진행하는 'Data Science 코칭 스터디'에 참가하며 이 강의를 수강하고 있다.
원래 부스트코스에서 여러 강의를 수강하고 있었지만 스터디에 참여하며 강의를 수강하니 +미션도 수행하고 코치님의 피드백도 받으며 더 성장할 수 있다. 코칭 스터디 기회가 또 있다면 무료로 코칭도 받을 수 있으니 추천한다!
사전 강좌로는 '모두를 위한 데이터 사이언스'를 수강하고 현재 강의를 수강하고 있는데 처음 입문하는 Data Science였지만 점점 배울수록 재밌다 😎 Python 실력도 늘릴 수 있다!
'Error' 카테고리의 다른 글
[React] Fail to compile. Module parse failed: Unexpected token Error 해결 (0) | 2022.11.17 |
---|---|
React에서 Google Fonts 적용이 안될 때 해결 방법! (0) | 2022.10.09 |
React App 빈 화면만 보이는 문제 해결(Invalid hook call error) (0) | 2022.08.14 |
command not found: expo 에러시 (0) | 2022.07.30 |