Einführung
Matplotlib ist eine Datenvisualisierungsbibliothek in Python, die es Benutzern ermöglicht, eine Vielzahl von 2D- und 3D-Diagrammen zu erstellen. Eine der vielen nützlichen Funktionen von Matplotlib ist die Möglichkeit, Quiver-Diagramme zu erstellen, die Vektorfelder anzeigen.
In diesem Lab werden einige erweiterte Optionen für die quiver()- und quiverkey()-Funktionen in Matplotlib behandelt. Mit diesen Funktionen kann die Gestaltung der Pfeile in einem Quiver-Diagramm angepasst werden, einschließlich der Pfeilskala, des Drehpunktes und der Pfeilhäufigkeit.
Tipps für die VM
Nachdem der Start der VM abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.
Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.
Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.
Pfeile skalieren mit der Diagrammbreite, nicht der Ansicht
Die quiver()-Funktion kann verwendet werden, um ein Quiver-Diagramm zu erstellen. Standardmäßig werden die Pfeile im Diagramm mit den Daten, nicht mit dem Diagramm selbst skaliert. Dies kann es schwierig machen, Pfeile zu sehen, die sich nahe am Rand des Diagramms befinden.
import matplotlib.pyplot as plt
import numpy as np
X, Y = np.meshgrid(np.arange(0, 2 * np.pi,.2), np.arange(0, 2 * np.pi,.2))
U = np.cos(X)
V = np.sin(Y)
fig1, ax1 = plt.subplots()
ax1.set_title('Arrows scale with plot width, not view')
Q = ax1.quiver(X, Y, U, V, units='width')
qk = ax1.quiverkey(Q, 0.9, 0.9, 2, r'$2 \frac{m}{s}$', labelpos='E',
coordinates='figure')
plt.show()
Drehpunkt und Pfeilhäufigkeit
Die quiver()-Funktion kann auch verwendet werden, um den Drehpunkt der Pfeile und die Häufigkeit, mit der sie angezeigt werden, anzupassen. Der pivot-Parameter kann auf 'mid' oder 'tip' gesetzt werden, und die an quiver() übergebenen Arrays können abgeschnitten werden, um nur jeden n-ten Pfeil anzuzeigen.
fig2, ax2 = plt.subplots()
ax2.set_title("pivot='mid'; every third arrow; units='inches'")
Q = ax2.quiver(X[::3, ::3], Y[::3, ::3], U[::3, ::3], V[::3, ::3],
pivot='mid', units='inches')
qk = ax2.quiverkey(Q, 0.9, 0.9, 1, r'$1 \frac{m}{s}$', labelpos='E',
coordinates='figure')
ax2.scatter(X[::3, ::3], Y[::3, ::3], color='r', s=5)
plt.show()
Skaliere Pfeile mit der X-Ansicht
Die quiver()-Funktion ermöglicht auch das Skalieren von Pfeilen mit der X-Ansicht. Dies kann nützlich sein, um Pfeile in unterschiedlichen Skalen je nach Daten anzuzeigen.
fig3, ax3 = plt.subplots()
ax3.set_title("pivot='tip'; scales with x view")
M = np.hypot(U, V)
Q = ax3.quiver(X, Y, U, V, M, units='x', pivot='tip', width=0.022,
scale=1 / 0.15)
qk = ax3.quiverkey(Q, 0.9, 0.9, 1, r'$1 \frac{m}{s}$', labelpos='E',
coordinates='figure')
ax3.scatter(X, Y, color='0.5', s=1)
plt.show()
Zusammenfassung
In diesem Lab wurden einige erweiterte Optionen für die quiver()- und quiverkey()-Funktionen in Matplotlib behandelt. Mit diesen Optionen kann die Gestaltung der Pfeile in einem Quiver-Diagramm angepasst werden, einschließlich der Pfeilskala, des Drehpunktes und der Pfeilhäufigkeit. Indem diese Optionen verwendet werden, können Benutzer informativere und visuell ansprechendere Quiver-Diagramme erstellen.