คำอธิบายประกอบ ข้อความ และเส้นอ้างอิง
ชี้ค่าสำคัญด้วย 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()
