Data Visualization

Horizontale und Vertikale Linien in Matplotlib Plots meistern

Spread the love

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert