Notice
Recent Posts
Recent Comments
Link
소연이의 메모장
[Python] 시각화를 위한 한글 폰트 설정 본문
반응형
matplotlib에서 한글폰트를 사용하여 시각화를 할 때 네모네모로 글자가 깨지는 현상이 발생한다.
이걸 해결하기 위한 python 코드다.
우선 네이버의 나눔글꼴을 다운 받아야 한다.
시스템 환경이 윈도우라면 맑은고딕이 실행된다.
그리고 마이너스 폰트까지 잘 나오는지 확인하는 코드도 있다.
def get_font_family():
"""
시스템 환경에 따른 기본 폰트명을 반환하는 함수
"""
import platform
system_name = platform.system()
# colab 사용자는 system_name이 'Linux'로 확인
if system_name == "Darwin" :
font_family = "AppleGothic"
elif system_name == "Windows":
font_family = "Malgun Gothic"
else:
# Linux
# colab에서는 runtime을 <꼭> 재시작 해야합니다.
# 런타임을 재시작 하지 않고 폰트 설치를 하면 기본 설정 폰트가 로드되어 한글이 깨집니다.
!apt-get update -qq
!apt-get install fonts-nanum -qq > /dev/null
import matplotlib.font_manager as fm
fontpath = '/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf'
font = fm.FontProperties(fname=fontpath, size=9)
fm._rebuild()
font_family = "NanumBarunGothic"
return font_family
# 시각화를 위한 폰트설정
import matplotlib.pyplot as plt
# 위에서 만든 함수를 통해 시스템 폰트를 불러와서 font_family 라는 변수에 할당
font_family = get_font_family()
# 폰트설정
plt.rc("font", family=get_font_family())
# 마이너스폰트 설정
plt.rc("axes", unicode_minus=False)
# 그래프 스타일 설정
plt.style.use('ggplot')
# 그래프에 retina display 적용
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('retina')
# 한글폰트 확인
pd.Series([1,3,5,-7,9]).plot(title="한글")
출처 : 오늘코드
'Programming > Python' 카테고리의 다른 글
[Pandas] 그룹화된 평균값을 시각화하기 (0) | 2022.10.24 |
---|---|
[Pandas] 그룹별 평균 구하기 (0) | 2022.10.24 |
[Pandas] 열과 행 단위로 데이터 추출하기(loc, iloc) (0) | 2022.10.24 |
[Pandas] csv 파일 불러오기 (0) | 2022.10.24 |
[Python] warning 메시지 숨기는 방법 (0) | 2022.08.16 |