matplotlib.pyplot.quiver #
- matplotlib.pyplot. quiver ( * args , data = None , ** kwargs ) [Quelle] #
Zeichnen Sie ein 2D-Pfeilfeld.
Rufsignatur:
quiver([X, Y], U, V, [C], **kwargs)
X , Y definieren die Pfeilpositionen, U , V definieren die Pfeilrichtungen und C legt optional die Farbe fest.
Pfeillänge
Die Standardeinstellungen skalieren die Länge der Pfeile automatisch auf eine angemessene Größe. Um dieses Verhalten zu ändern, sehen Sie sich die Parameter scale und scale_units an .
Pfeilform
Die Pfeilform wird durch Breite , Kopfbreite , Kopflänge und Kopfachsenlänge bestimmt . Siehe die nachstehenden Anmerkungen.
Pfeil-Styling
Jeder Pfeil wird intern durch ein gefülltes Polygon mit einer standardmäßigen Kantenlinienbreite von 0 dargestellt. Folglich ist ein Pfeil eher eine gefüllte Fläche, keine Linie mit Kopf, und
PolyCollection
Eigenschaften wie linewidth , edgecolor , facecolor usw. verhalten sich entsprechend.- Parameter :
- X, Y 1D oder 2D Array-ähnlich, optional
Die x- und y-Koordinaten der Pfeilpositionen.
Wenn nicht angegeben, werden sie als einheitliches ganzzahliges Maschengitter basierend auf den Dimensionen von U und V generiert .
Wenn X und Y 1D sind, aber U , V 2D sind, werden X , Y mit auf 2D erweitert . In diesem Fall muss und mit den Spalten- und Zeilenabmessungen von U und V übereinstimmen .
X, Y = np.meshgrid(X, Y)
len(X)
len(Y)
- U, V 1D oder 2D Array-ähnlich
Die x- und y-Richtungskomponenten der Pfeilvektoren. Die Interpretation dieser Komponenten (in Daten oder im Bildschirmbereich) hängt von Winkeln ab .
U und V müssen die gleiche Anzahl von Elementen haben, die der Anzahl der Pfeilpositionen in X , Y entsprechen . U und V können maskiert werden. Orte, die in einem von U , V und C maskiert sind, werden nicht gezeichnet.
- C 1D- oder 2D-Array-ähnlich, optional
Numerische Daten, die die Pfeilfarben durch Farbzuordnung über norm und cmap definieren .
Dies unterstützt keine expliziten Farben. Wenn Sie Farben direkt festlegen möchten, verwenden Sie stattdessen Farbe . Die Größe von C muss der Anzahl der Pfeilstellen entsprechen.
- Winkel {'uv', 'xy'} oder Array-artig, Standard: 'uv'
Verfahren zur Bestimmung des Winkels der Pfeile.
'uv': Pfeilrichtung in Bildschirmkoordinaten. Verwenden Sie dies, wenn die Pfeile eine Menge symbolisieren, die nicht auf X- , Y -Datenkoordinaten basiert.
Wenn U == V ist, ist die Ausrichtung des Pfeils auf dem Diagramm 45 Grad gegen den Uhrzeigersinn von der horizontalen Achse (positiv nach rechts).
'xy': Pfeilrichtung in Datenkoordinaten, dh die Pfeile zeigen von (x, y) nach (x+u, y+v). Verwenden Sie dies zB zum Plotten eines Gradientenfeldes.
Beliebige Winkel können explizit als Array von Werten in Grad gegen den Uhrzeigersinn von der horizontalen Achse angegeben werden.
In diesem Fall wird U , V nur verwendet, um die Länge der Pfeile zu bestimmen.
Hinweis: Beim Invertieren einer Datenachse werden die Pfeile nur mit entsprechend invertiert
angles='xy'
.- Pivot {'Schwanz', 'Mitte', 'Mitte', 'Spitze'}, Standard: 'Schwanz'
Der Teil des Pfeils, der am X- , Y -Raster verankert ist. Der Pfeil dreht sich um diesen Punkt.
„Mitte“ ist ein Synonym für „Mitte“.
- Waagenschwimmer , optional
Skaliert die Länge des Pfeils umgekehrt.
Anzahl der Dateneinheiten pro Pfeillängeneinheit, z. B. m/s pro Plotbreite; ein kleinerer Skalenparameter macht den Pfeil länger. Standard ist Keine .
Bei None wird ein einfacher Autoscaling-Algorithmus basierend auf der durchschnittlichen Vektorlänge und der Anzahl der Vektoren verwendet. Die Einheit der Pfeillänge wird durch den Parameter scale_units angegeben.
- scale_units {'Breite', 'Höhe', 'Punkte', 'Zoll', 'x', 'y', 'xy'}, optional
Wenn das Skalen -Kwarg None ist , die Einheit der Pfeillänge. Standard ist Keine .
zB scale_units ist 'Zoll', scale ist 2.0 und , dann ist der Vektor 0.5 Zoll lang.
(u, v) = (1, 0)
Wenn scale_units 'Breite' oder 'Höhe' ist, dann ist der Vektor die Hälfte der Breite/Höhe der Achsen.
Wenn scale_units 'x' ist, dann hat der Vektor 0,5 x-Achsen-Einheiten. Um Vektoren in der xy-Ebene darzustellen, wobei u und v dieselben Einheiten wie x und y haben, verwenden Sie .
angles='xy', scale_units='xy', scale=1
- Einheiten {'Breite', 'Höhe', 'Punkte', 'Zoll', 'x', 'y', 'xy'}, Standard: 'Breite'
Beeinflusst die Pfeilgröße (außer der Länge). Insbesondere die Schachtbreite wird in Vielfachen dieser Einheit gemessen.
Unterstützte Werte sind:
'width', 'height': Die Breite oder Höhe der Achsen.
'dots', 'inches': Pixel oder Zoll basierend auf der Zahl dpi.
'x', 'y', 'xy': X , Y oder\(\sqrt{X^2 + Y^2}\)in Dateneinheiten.
Die folgende Tabelle fasst zusammen, wie sich diese Werte auf die sichtbare Pfeilgröße beim Zoomen und Änderungen der Abbildungsgröße auswirken:
Einheiten
Zoomen
figur größe ändern
'x', 'y', 'xy'
Pfeilgrößenskalen
'Breite Höhe'
Pfeilgrößenskalen
'Punkte', 'Zoll'
- Breite Float, optional
Schaftbreite in Pfeileinheiten. Alle Kopfparameter sind relativ zur Breite .
Die Standardeinstellung hängt von der Auswahl der obigen Einheiten und der Anzahl der Vektoren ab; ein typischer Startwert ist etwa das 0,005-fache der Breite des Plots.
- Headwidth Float, Standard: 3
Kopfbreite als Vielfaches der Schaftbreite . Siehe die nachstehenden Anmerkungen.
- Headlength Float, Standard: 5
Kopflänge als Vielfaches der Schaftbreite . Siehe die nachstehenden Anmerkungen.
- headaxislength Float, Standard: 4,5
Kopflänge am Wellenkreuz als Vielfaches der Wellenbreite . Siehe die nachstehenden Anmerkungen.
- Minshaft- Schwimmer, Standard: 1
Länge, unter der der Pfeil skaliert, in Einheiten der Kopflänge. Stellen Sie dies nicht auf weniger als 1 ein, sonst sehen kleine Pfeile schrecklich aus!
- minlength Float, Standard: 1
Mindestlänge als Vielfaches der Schaftbreite; Wenn eine Pfeillänge kleiner ist, zeichnen Sie stattdessen einen Punkt (Sechseck) mit diesem Durchmesser.
- Farbe Farbe oder Farbfolge, optional
Explizite Farbe(n) für die Pfeile. Wenn C eingestellt wurde, hat die Farbe keine Auswirkung.
Dies ist ein Synonym für den facecolor- Parameter.
PolyCollection
- Rückgaben :
- Andere Parameter :
- data indexierbares Objekt, optional
Wenn angegeben, akzeptieren alle Parameter auch einen String
s
, der als interpretiert wirddata[s]
(es sei denn, dies löst eine Ausnahme aus).- **kwargs-
PolyCollection
Eigenschaften, optional Alle anderen Schlüsselwortargumente werden weitergegeben an
PolyCollection
:Eigentum
Beschreibung
eine Filterfunktion, die ein (m, n, 3) Float-Array und einen dpi-Wert akzeptiert und ein (m, n, 3)-Array und zwei Offsets von der unteren linken Ecke des Bildes zurückgibt
Array-ähnlich oder Skalar oder None
bool
antialiased
oder aa oder Antialiasingbool oder Liste von bools
Array-ähnlich oder None
CapStyle
oder {'hinter', 'vorstehend', 'rund'}(vmin: Float, vmax: Float)
bool
Patch oder (Pfad, Transform) oder None
Colormap
oder str oder KeineFarbe oder Liste von RGBA-Tupeln
edgecolor
oder ec oder edgecolorsFarbe oder Liste von Farben oder 'Gesicht'
facecolor
oder facecolors oder fcFarbe oder Farbliste
Str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyle
oder {'Gehrung', 'rund', 'Fase'}Objekt
linestyle
oder Bindestriche oder Linienstile oder lsstr oder Tupel oder Liste davon
linewidth
oder Linienbreiten oder lwFloat oder Liste von Floats
bool
Normalize
oder str oder Keineoffset_transform
oder transOffsetUnbekannt
(N, 2) oder (2,) Array-artig
Liste von Array-ähnlichen
None oder bool oder float oder aufrufbar
Unbekannt
bool
sizes
ndarray oder None
(Maßstab: Float, Länge: Float, Zufälligkeit: Float)
bool oder Keine
Str
Liste von str oder None
Liste von Array-ähnlichen
Unbekannt
bool
schweben
Siehe auch
Axes.quiverkey
Fügen Sie einem Quiver Plot einen Schlüssel hinzu.
Anmerkungen
Pfeilform
Der Pfeil wird als Polygon gezeichnet, wobei die Knoten wie unten gezeigt verwendet werden. Die Werte headwidth , headlength und headaxislength sind in Breiteneinheiten angegeben .
Die Standardeinstellung ergibt einen leicht nach hinten geschwungenen Pfeil. Hier sind einige Richtlinien, wie Sie andere Kopfformen erhalten:
Um den Kopf zu einem Dreieck zu machen, machen Sie headaxislength gleich headlength .
Um den Pfeil spitzer zu machen, verringern Sie die Kopfbreite oder vergrößern Sie Kopflänge und Kopfachsenlänge .
Um den Kopf relativ zum Schaft kleiner zu machen, skalieren Sie alle Kopfparameter proportional herunter.
Um den Kopf vollständig zu entfernen, setzen Sie alle Kopfparameter auf 0.
Um einen rautenförmigen Kopf zu erhalten, machen Sie headaxislength größer als headlength .
Warnung: Für Kopfachsenlänge < ( Kopflänge / Kopfbreite ) werden die "Kopfachsen"-Knoten (dh diejenigen, die den Kopf mit dem Schaft verbinden) in Vorwärtsrichtung aus dem Kopf herausragen, so dass die Pfeilspitze gebrochen aussieht.