Matplotlib 중급

주석, 텍스트, 기준선

ax.annotate로 중요한 값을 가리키고, ax.text로 메모를 달고, axhline으로 목표를 표시합니다.

소개

좋은 차트는 어디를 봐야 하는지 알려 줍니다. ax.annotate는 데이터 점을 가리키는 화살표와 레이블을 쓰고, ax.text는 원하는 위치에 글자를 두며, ax.axhline이나 ax.axvline은 평균이나 목표 같은 기준선을 긋습니다.

xy는 화살표가 가리키는 점이고 xytext는 레이블이 놓이는 위치이며, arrowprops가 화살표를 그립니다. 글자 범주를 쓰는 차트에서 x 위치는 0, 1, 2... 이므로 최고의 달은 x = best에 있습니다. axhline은 차트 전체에 평균선을 긋고, ax.text는 그 점선이 무엇인지 설명합니다.

인터랙티브 시각화

주석을 달 점을 고르고, 화살표와 평균선을 지운 뒤 각 부분을 어떤 코드 줄이 그리는지 확인해 보세요.

실행 가능한 Matplotlib 예제

Matplotlib
코드 실행 →
main.py
import matplotlib.pyplot as plt

months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
sales = [12, 15, 14, 22, 19, 17]
best = sales.index(max(sales))
average = sum(sales) / len(sales)

fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(months, sales, marker="o")
ax.annotate(f"Best month: {sales[best]}k", xy=(best, sales[best]), xytext=(best + 0.5, sales[best] + 1.5),
            arrowprops=dict(arrowstyle="->"))
ax.axhline(average, color="gray", linestyle="--")
ax.text(0, average + 0.4, f"average {average:.1f}k", color="gray")
ax.set_ylim(10, 25)
ax.set_title("Sales by month")
plt.show()
이 예제의 실행 버튼 만들기 이 코드가 그리는 차트
주석, 텍스트, 기준선