matplotlib & 한글
Outline
matplotlib에서 차트를 그릴 때, 한글이 깨지지 않도록 해봅니다.
Code
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.font_manager as fm
data = np.random.randint(-100, 100, 20)
차트를 그리기 위해 샘플 데이터를 만들었습니다.
array([-65, 8, 99, 58, -59, 69, -56, 6, 52, 58, 47, -2, -30,
56, -68, 79, 47, 11, -34, 43])
레이블에 한글을 넣어 차트를 한 번 그려봅니다.
plt.figure(figsize=(14,6))
plt.plot(data, 'r')
plt.title('한글테스트')
plt.ylabel('값')
plt.xlabel('인덱스')
한글이 깨집니다.
PC에 있는 한글폰트의 위치를 찾은 뒤, FontProperties를 이용하여 코드를 수정합니다.
path = 'C:\\WINDOWS\\Fonts\\NanumGothic.ttf'
font_name = fm.FontProperties(fname=path, size=40).get_name()
plt.rc('font', family=font_name)
plt.figure(figsize=(14,6))
plt.plot(data, 'r')
plt.title('한글테스트')
plt.ylabel('값')
plt.xlabel('인덱스')
한글은 잘 나오지만 음수값을 표현하는 '-' 기호가 깨집니다.
rcParam의 'axes.unicode_minus'를 세팅하는 것으로 수정합니다.
mpl.rcParams['axes.unicode_minus'] = False
path = 'C:\\WINDOWS\\Fonts\\NanumGothic.ttf'
font_name = fm.FontProperties(fname=path, size=40).get_name()
plt.rc('font', family=font_name)
plt.figure(figsize=(14,6))
plt.plot(data, 'r')
plt.title('한글테스트')
plt.ylabel('값')
plt.xlabel('인덱스')
한글과 음수기호가 모두 잘 출력됩니다.
Author And Source
이 문제에 관하여(matplotlib & 한글), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@24331/matplotlib-한글저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)