matplotlib는 강력한 그래프 출력을 위한 라이브러리이고, 다양한 환경과 언어에서 지원됩니다. 그래프는 어떤 정보를 전달하기 위한 목적을 가지므로, 전달하고자 하는 내용을 효과적으로 표기할 수 있어야 하는데요. matplotlib에서는 텍스트나 화살표와 같은 지시선 등을 그래프 상에 표기할 수 있습니다.
아래의 코드는 그래프 위에 일반적인 텍스트와 지시선을 표기하는 파이썬의 코드입니다.
import matplotlib.pyplot as plt plt.tight_layout() plt.axis([0,100,0,100]) plt.plot(20, 20, "bs") plt.plot(50, 50, "bs") plt.plot(80, 80, "bs") plt.annotate('중앙값', xy=(50, 50), xytext=(50,20), fontsize=14, ha='center', arrowprops=dict(facecolor='black', width=1, shrink=0.1, headwidth=10)) plt.text(25, 80, '상자 속에 글자', fontsize=24, bbox=dict(boxstyle='square', color='lightgray')) plt.show()
결과는 다음과 같습니다.
파이썬에서 matplotlib에서 사용하는 기본 폰트가 영문이므로, 아래처럼 원하는 한글 폰트를 직접 지정하여 한글을 표기할 수 있습니다. 아래의 코드는 그래프를 출력하기 이전인 위의 코드에서 2번줄에 추가하면 됩니다.
from matplotlib import font_manager font_fname = 'C:/Users/Dip2K/AppData/Local/Microsoft/Windows/Fonts/XOU_XWA.ttf' font_family = font_manager.FontProperties(fname=font_fname).get_name() print(font_family) plt.rcParams["font.family"] = font_family