Matplotlib für Fortgeschrittene

Annotationen, Text und Referenzlinien

Wichtige Werte mit ax.annotate markieren, Notizen mit ax.text hinzufügen und Ziele mit axhline kennzeichnen.

Einführung

Ein gutes Diagramm zeigt dem Leser, wohin er schauen soll. ax.annotate schreibt eine Beschriftung mit Pfeil auf einen Datenpunkt, ax.text platziert freien Text und ax.axhline oder ax.axvline zeichnet eine Referenzlinie wie einen Durchschnitt oder ein Ziel.

xy ist der Punkt, auf den der Pfeil zeigt, und xytext die Position der Beschriftung; arrowprops zeichnet den Pfeil. Bei Textkategorien sind die x-Positionen 0, 1, 2 usw., daher liegt der beste Monat bei x = best. axhline zeichnet den Durchschnitt über die ganze Breite, und ax.text erklärt die gestrichelte Linie.

Interaktive Visualisierung

Wähle den Punkt für die Annotation, entferne Pfeil und Durchschnittslinie und sieh, welche Codezeile welchen Teil zeichnet.

Ausführbares Matplotlib-Beispiel

Matplotlib
Code ausführen →
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()
Run-Button für dieses Beispiel erstellen Das Diagramm, das dieser Code zeichnet
Annotationen, Text und Referenzlinien