Chú thích, chữ và đường tham chiếu
Chỉ vào giá trị quan trọng bằng ax.annotate, thêm ghi chú bằng ax.text và đánh dấu mục tiêu bằng axhline.
Giới thiệu
Một biểu đồ tốt cho người xem biết nên nhìn vào đâu. ax.annotate viết nhãn kèm mũi tên chỉ vào một điểm dữ liệu, ax.text đặt chữ ở vị trí tùy ý, còn ax.axhline hay ax.axvline vẽ một đường tham chiếu như giá trị trung bình hoặc mục tiêu.
xy là điểm mũi tên chỉ vào, xytext là chỗ đặt nhãn; arrowprops vẽ mũi tên. Với trục là các nhãn chữ, vị trí x lần lượt là 0, 1, 2..., nên tháng cao nhất nằm ở x = best. axhline vẽ đường trung bình ngang qua cả biểu đồ, còn ax.text giải thích đường đứt nét đó nghĩa là gì.
Trình mô phỏng tương tác
Chọn điểm cần chú thích, bỏ mũi tên và đường trung bình, rồi xem dòng code nào vẽ ra từng phần.
Ví dụ Matplotlib chạy được
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()
