Matplotlib ist eine leistungsstarke Python-Bibliothek zum Erstellen von Visualisierungen. Das Hinzufügen horizontaler und vertikaler Linien zu Ihren Diagrammen kann die Klarheit deutlich verbessern, indem Datenpunkte, Schwellenwerte oder interessante Bereiche hervorgehoben werden. Dieser Artikel zeigt zwei effektive Methoden, um dies zu erreichen: die Verwendung von axhline
/axvline
und hlines
/vlines
.
Inhaltsverzeichnis
Verwendung von axhline
und axvline
Die Funktionen axhline
und axvline
bieten eine einfache Möglichkeit, einzelne horizontale bzw. vertikale Linien direkt zu einem Matplotlib-Axes-Objekt hinzuzufügen. Sie sind ideal, wenn eine Linie das gesamte Diagramm durchlaufen soll.
import matplotlib.pyplot as plt
import numpy as np
# Beispieldaten
x = np.linspace(0, 10, 100)
y = np.sin(x)
# Diagramm erstellen
fig, ax = plt.subplots()
ax.plot(x, y)
# Horizontale Linie bei y = 0.5 hinzufügen
ax.axhline(y=0.5, color='r', linestyle='--', linewidth=2)
# Vertikale Linie bei x = 5 hinzufügen
ax.axvline(x=5, color='g', linestyle='-', linewidth=1)
# Darstellung anpassen (optional)
ax.set_xlabel("X-Achse")
ax.set_ylabel("Y-Achse")
ax.set_title("Horizontale und vertikale Linien mit axhline/axvline")
plt.show()
Dieser Code erzeugt eine Sinuswelle und fügt eine rote gestrichelte horizontale Linie bei y = 0.5
und eine grüne durchgezogene vertikale Linie bei x = 5
hinzu. Sie können die Eigenschaften der Linie mit Parametern wie color
, linestyle
, linewidth
, alpha
(Transparenz) und label
(für Legenden) anpassen.
Verwendung von hlines
und vlines
Für mehr Kontrolle, insbesondere beim Zeichnen mehrerer Linien oder Linien, die nur einen Teil der Achsen umfassen, bieten hlines
und vlines
größere Flexibilität. Sie ermöglichen es Ihnen, die y-Koordinaten für horizontale Linien und die x-Koordinaten für vertikale Linien einzeln anzugeben.
import matplotlib.pyplot as plt
import numpy as np
# Beispieldaten
x = np.linspace(0, 10, 100)
y = np.sin(x)
# Diagramm erstellen
fig, ax = plt.subplots()
ax.plot(x, y)
# Mehrere horizontale Linien hinzufügen
ax.hlines(y=[0, 0.5, 1], xmin=0, xmax=10, colors=['b', 'r', 'g'], linestyles=['-', '--', ':'])
# Mehrere vertikale Linien hinzufügen
ax.vlines(x=[2, 7], ymin=0, ymax=1, colors=['k', 'm'], linewidths=[2, 1])
# Darstellung anpassen (optional)
ax.set_xlabel("X-Achse")
ax.set_ylabel("Y-Achse")
ax.set_title("Horizontale und vertikale Linien mit hlines/vlines")
plt.show()
Dieses Beispiel fügt drei horizontale Linien mit unterschiedlichen y-Werten über den gesamten x-Bereich und zwei vertikale Linien an bestimmten x-Koordinaten hinzu, die sich von ymin=0
bis ymax=1
erstrecken. Listen werden für mehrere Linienspezifikationen verwendet. Beachten Sie die Verwendung von linewidths
zur Steuerung der Linienstärke.
Fazit
Sowohl axhline
/axvline
als auch hlines
/vlines
sind nützliche Werkzeuge zur Verbesserung von Matplotlib-Diagrammen. axhline
/axvline
sind einfacher für einzelne Linien, die das gesamte Diagramm durchlaufen, während hlines
/vlines
mehr Flexibilität für mehrere Linien oder Linien mit spezifischen Start- und Endpunkten bieten. Die beste Wahl hängt von Ihren Visualisierungsbedürfnissen ab. Denken Sie daran, Linienstile und Farben für optimale Klarheit anzupassen.