quiver - janehlenb/Projektarbeit-ChatGPT-Python GitHub Wiki
Einführung
In diesem Tutorial dreht sich alles um den "quiver plot" in Matplotlib. Aber keine Sorge, es ist keine Geschichte über Pfeilspitzen und mittelalterliche Waffen. Stattdessen werden wir uns damit beschäftigen, Vektoren auf eine humorvolle und Python-unerfahrene Weise zu visualisieren.
Du fragst dich vielleicht, was ein "quiver plot" überhaupt ist? Nun, ein "quiver plot" ist eine Darstellung von Vektoren als Pfeile auf einem 2D-Diagramm. Es ist eine großartige Möglichkeit, Richtung und Intensität von Vektoren visuell zu veranschaulichen. Du kannst damit zum Beispiel den Windfluss, die Geschwindigkeit von Teilchen oder die Feldlinien eines Vektorfeldes anzeigen.
In diesem Tutorial werden wir lernen, wie man einen "quiver plot" in Matplotlib erstellt, wie man die verschiedenen Parameter anpasst und wie man damit deine Daten zum Leuchten bringt!
Theorie
Grundlagen des "quiver plots"
Bevor wir uns in den Code stürzen, werfen wir einen Blick auf die theoretischen Grundlagen des "quiver plots". In der Welt der Vektoren repräsentiert ein Pfeil seine Richtung und Länge. Ein "quiver plot" verwendet diese Pfeile, um Vektoren auf einer 2D-Ebene darzustellen.
Um einen einfachen "quiver plot" zu erstellen, benötigen wir zwei Arten von Informationen: die Koordinaten des Startpunkts jedes Vektors und die Komponenten des Vektors selbst. Die Startpunkt-Koordinaten geben an, wo sich der Pfeil auf dem Diagramm befindet, und die Vektor-Komponenten bestimmen seine Richtung und Länge.
Lass uns das Ganze mit einem Beispiel verdeutlichen:
import matplotlib.pyplot as plt
# Startpunkt-Koordinaten
x = [0, 1, 2]
y = [0, 1, 2]
# Vektor-Komponenten
u = [1, 0, -1]
v = [1, -1, 1]
# Erstellung des "quiver plots"
plt.quiver(x, y, u, v)
# Diagramm anzeigen
plt.show()
In diesem Beispiel haben wir drei Vektoren: einen von (0,0) nach (1,1), einen von (1,1) nach (0,0) und einen von (2,2) nach (1,1). Das Diagramm zeigt diese Vektoren als Pfeile an.
Anpassen des "quiver plots"
Natürlich kannst du den "quiver plot" noch weiter anpassen, um deine Daten zum Strahlen zu bringen! Du kannst die Farben der Pfeile ändern, ihre Größe anpassen und sogar verschiedene Formen verwenden, um verschiedene Informationen darzustellen. Hier ist ein Beispiel, um dich zum Schmunzeln zu bringen:
import numpy as np
import matplotlib.pyplot as plt
# Startpunkt-Koordinaten generieren
x = np.random.rand(10)
y = np.random.rand(10)
# Vektor-Komponenten generieren
u = np.random.rand(10) - 0.5
v = np.random.rand(10) - 0.5
# Erstellung des "quiver plots" mit angepassten Parametern
plt.quiver(x, y, u, v, color='purple', scale=10, width=0.01, headwidth=3, headlength=4)
# Diagramm anzeigen
plt.show()
In diesem Beispiel haben wir zufällige Startpunkt-Koordinaten und Vektor-Komponenten generiert. Aber das ist noch nicht alles! Wir haben den Pfeilen eine herrliche lila Farbe verliehen, ihre Größe skaliert, die Breite und die Form der Pfeilspitzen angepasst. Das Ergebnis ist ein "quiver plot", der deine Daten mit Stil zeigt!
Praxis
Nun, da du die Theorie kennst, lass uns das Gelernte in die Praxis umsetzen. Ich werde dir zwei Aufgaben geben: eine leichte und eine etwas schwierigere. Aber keine Sorge, du wirst es schaffen!
Aufgabe 1
Erstelle einen "quiver plot" für die Vektoren (1, 1), (-1, 1) und (0, -1). Zeige sie als Pfeile mit einer Länge von 1 an und positioniere sie in den Punkten (0, 0), (1, 1) und (2, 2). Lass sie in einer atemberaubenden Farbe erstrahlen und gib den Pfeilspitzen eine Breite von 0.005.
Musterlösung:
import matplotlib.pyplot as plt
# Startpunkt-Koordinaten
x = [0, 1, 2]
y = [0, 1, 2]
# Vektor-Komponenten
u = [1, -1, 0]
v = [1, 1, -1]
# Erstellung des "quiver plots" mit angepassten Parametern
plt.quiver(x, y, u, v, color='magenta', scale=1, width=0.005)
# Diagramm anzeigen
plt.show()

Aufgabe 2
Erstelle einen "quiver plot" für die Vektoren, die entlang eines Kreises mit einem Radius von 1 liegen. Verwende eine Schrittweite von 0.1, um die Vektoren gleichmäßig auf dem Kreis zu platzieren. Zeige sie als Pfeile mit einer Länge von 0.5 an und gib ihnen eine leuchtend blaue Farbe. Lass die Pfeilspitzen elegant schlank sein, indem du ihnen eine Breite von 0.002 gibst.
Musterlösung:
import numpy as np
import matplotlib.pyplot as plt
# Startpunkt-Koordinaten
theta = np.arange(0, 2*np.pi, 0.1)
x = np.cos(theta)
y = np.sin(theta)
# Vektor-Komponenten
u = x * 0.5
v = y * 0.5
# Erstellung des "quiver plots" mit angepassten Parametern
plt.quiver(x, y, u, v, color='blue', scale=1, width=0.002)
# Diagramm anzeigen
plt.show()

Fazit
Herzlichen Glückwunsch! Du hast den "quiver plot" gemeistert und bist nun ein wahrer Held der Datenvisualisierung! Es gibt noch so viele aufregende Möglichkeiten mit Matplotlib zu erkunden, aber das ist eine Geschichte für ein anderes Tutorial.
Bis dahin, viel Spaß beim Pfeile schießen in der Welt der Daten!
Links / Weiteres Material
Dokumentation
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.quiver.html