Matplotlib intermedio

Anotaciones, texto y líneas de referencia

Señala valores importantes con ax.annotate, añade notas con ax.text y marca objetivos con axhline.

Introducción

Un buen gráfico le dice al lector dónde mirar. ax.annotate escribe una etiqueta con una flecha que apunta a un dato, ax.text coloca texto libre, y ax.axhline o ax.axvline dibuja una línea de referencia, como una media o un objetivo.

xy es el punto al que apunta la flecha y xytext es donde va la etiqueta; arrowprops dibuja la flecha. En un gráfico con categorías de texto las posiciones x son 0, 1, 2, etc., así que el mejor mes está en x = best. axhline dibuja la media en todo el ancho y ax.text explica qué significa la línea discontinua.

Visualizador interactivo

Elige qué punto anotar, quita la flecha y la línea de la media, y mira qué línea de código dibuja cada parte.

Ejemplo de Matplotlib ejecutable

Matplotlib
Ejecutar código →
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()
Obtén un botón Run para este ejemplo El gráfico que dibuja este código
Anotaciones, texto y líneas de referencia