Matplotlib trung cấp

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
Chạy code →
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()
Lấy nút Run cho ví dụ này Biểu đồ mà đoạn code này vẽ ra
Chú thích, chữ và đường tham chiếu