matplotlib는 대표적인 데이터 시각화를 위한 파이썬 라이브러리이다. 특히 Pandas나 NumPy 패키지를 자주 사용하시는 사람들은 아주 유용하게 사용할 수 있는 시각화 라이브러리다. 한국인이 matplotlib를 쓰다 보면 필연적으로 만나게 될 에러러를 정리해보겠다. matplotlib를 이용해서 플롯(plot)을 그릴 때, 제목, x라벨, y라벨 등에 영어가 아닌 한글을 사용하면, 한글이 제대로 표현되지 않고 깨진다.
import matplotlib.pyplot as plt
plt.scatter([0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5])
plt.title('산점도')
plt.xlabel('변수1')
plt.ylabel('변수2')
plt.grid(True)
plt.show()
위 Python 코드를 실행하면 다음과 같은 Scatter plot이 그려진다.
한글로 표현되었어야 할 "산점도", "변수"가 네모로 표현된다.
matplotlib 한글 깨짐 문제 해결법
이런 경우에는 다음과 같이 조치해줘야 한다.
사용하고자 하는 한글 폰트의 경로를 알려준 후 그 폰트로 텍스트가 쓰여지게 해야한다.
윈도우 PC에서 폰트는 C:\Windows\Fonts에 위치한다. 그 중에서 원하는 폰트의 영문명을 뒤에 덧붙여줘서 폰트의 정확한 위치를 알려준다. 폰트 이름의 영문 버전은 속성을 확인해보시면 알 수 있다.
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc
font_path = 'C:/Windows/Fonts/NGULIM.TTF"
font = font_manager.FontProperties(frame = font_path).get_name()
rc('font', family = font)
plt.scatter([0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5])
plt.title('산점도')
plt.xlabel('변수1')
plt.ylabel('변수2')
plt.grid(True)
plt.show()
위 코드를 실행하면 다음과 같이 한글이 정상적으로 출력된다.
'Error' 카테고리의 다른 글
TypeError: unsupported format string passed to numpy.ndarray.__format__ (1) | 2023.09.09 |
---|---|
Loss가 [nan]일 경우 (1) | 2023.08.26 |