Matplotlib intermedio

Annotazioni, testo e linee di riferimento

Indica i valori importanti con ax.annotate, aggiungi note con ax.text e segna gli obiettivi con axhline.

Introduzione

Un buon grafico dice al lettore dove guardare. ax.annotate scrive un'etichetta con una freccia verso un punto, ax.text mette testo libero e ax.axhline o ax.axvline traccia una linea di riferimento, come una media o un obiettivo.

xy è il punto indicato dalla freccia e xytext è dove sta l'etichetta; arrowprops disegna la freccia. Con categorie di testo le posizioni x sono 0, 1, 2 e così via, quindi il mese migliore è a x = best. axhline traccia la media su tutta la larghezza e ax.text spiega cosa significa la linea tratteggiata.

Visualizzatore interattivo

Scegli quale punto annotare, togli la freccia e la linea della media e guarda quale riga di codice disegna ogni parte.

Esempio Matplotlib eseguibile

Matplotlib
Esegui codice →
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()
Crea un pulsante Run per questo esempio Il grafico disegnato da questo codice
Annotazioni, testo e linee di riferimento