एनोटेशन, टेक्स्ट और रेफ़रेंस लाइनें
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()
