반응형
구글 코랩에서 matplotlib 이나 seaborn 라이브러리와 같은 시각화를 할 때 한글 텍스트를 넣게 되면 글자마다 ㅁ(네모)으로 나오는 깨지는 현상이 발생합니다.
TMI이지만 seaborn은 matplotlib기반으로 유저들이 더 쉽게 사용할 수 있도록 만든 고수준 API이기 때문에 seaborn도 한글 깨짐 에러가 나옵니다. Pandas로 그리는 그래프들도 matplotlib 기반이기 때문에 동일합니다.
문제 원인은 코랩에서 기본폰트로 한글을 지원하지 않기 때문입니다. 이런 경우 폰트를 설치하고 재실행해서 해당 다운로드한 폰트를 불러와 쓰면 됩니다.
1. 나눔 폰트를 설치
!apt -qq -y install fonts-nanum
2. 코랩 런타임 재실행
런타임> 런다팀 다시 시작
메시지: 런타임을 다시 시작하겠습니까? 모든 로컬 변수를 포함한 런타임 상태가 삭제됩니다 > 예 선택
3. 스크립트/ 블록 재실행
그릴 때 나눔 바른 고딕 글자체를 넣으면 한글이 제대로 나오는 것을 알 수 있습니다. 한 번만 실행하면 적용되기 때문에 라이브러리 불러오는 초반에 같이 작성해두는 것을 추천드립다.
기본 폰트 사이즈와 다운로드 받은 폰트의 path를 입력하면 설정 완료!
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
fontpath = '/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf'
font = fm.FontProperties(fname=fontpath, size=9)
plt.rc('font', family='NanumBarunGothic')
반응형
'Data > Python' 카테고리의 다른 글
개발자 필수 시험이 될 프로그래머스의 코딩역량인증시험 PCCP.E (3) | 2022.08.30 |
---|---|
[Pandas] 결측치가 없는 데 계산에서 NaN이 나오는 경우(feat. dtype) (0) | 2022.07.21 |
Python 코드 관리하기 (0) | 2022.01.12 |
프로그래머스[정렬] :K번째수,가장 큰 수,H-Index (0) | 2021.07.23 |
백준 알고리즘[파이썬] 1929번: 소수 구하기 ,1978번: 소수찾기 (0) | 2021.07.22 |