matplotlib.transforms#
Matplotlib enthält ein Framework für beliebige geometrische Transformationen, das verwendet wird, um die endgültige Position aller auf der Leinwand gezeichneten Elemente zu bestimmen.
Transformationen werden zu Bäumen von TransformNode-Objekten zusammengesetzt, deren tatsächlicher Wert von ihren Kindern abhängt. Wenn sich der Inhalt von Kindern ändert, werden deren Eltern automatisch invalidiert. Beim nächsten Zugriff auf eine invalidierte Transformation wird diese neu berechnet, um diese Änderungen widerzuspiegeln. Dieser Ansatz der Invalidierung/Zwischenspeicherung verhindert unnötige Neuberechnungen von Transformationen und trägt zu einer besseren interaktiven Leistung bei.
Hier ist beispielsweise ein Graph des Transformationsbaums, der zum Plotten von Daten in die Abbildung verwendet wird
Das Framework kann sowohl für affine als auch für nicht-affine Transformationen verwendet werden. Aus Geschwindigkeitsgründen möchten wir jedoch die Backend-Renderer verwenden, um affine Transformationen nach Möglichkeit durchzuführen. Daher ist es möglich, nur den affinen oder den nicht-affinen Teil einer Transformation auf einen Datensatz anzuwenden. Die affine Transformation wird immer nach der nicht-affinen angenommen. Für jede Transformation
full transform == non-affine part + affine part
Es wird nicht erwartet, dass die Backends nicht-affine Transformationen selbst verarbeiten.
Siehe das Tutorial Transformations-Tutorial für Beispiele zur Verwendung von Transformationen.
- class matplotlib.transforms.Affine2D(matrix=None, **kwargs)[Quelle]#
Bases:
Affine2DBaseEine veränderliche 2D-affine Transformation.
Initialisiert eine affine Transformation aus einer 3x3-Numpy-Gleitkommazahl-Matrix
a c e b d f 0 0 1
Wenn matrix None ist, wird mit der Identitätstransformation initialisiert.
- static from_values(a, b, c, d, e, f)[Quelle]#
Erstellt eine neue Affine2D-Instanz aus den angegebenen Werten
a c e b d f 0 0 1
.
- get_matrix()[Quelle]#
Gibt die zugrundeliegende Transformationsmatrix als 3x3-Array zurück
a c e b d f 0 0 1
.
- rotate(theta)[Quelle]#
Fügt dieser Transformation in situ eine Drehung (in Radiant) hinzu.
Gibt self zurück, sodass diese Methode einfach mit weiteren Aufrufen von
rotate(),rotate_deg(),translate()undscale()verkettet werden kann.
- rotate_around(x, y, theta)[Quelle]#
Fügt in situ eine Drehung (in Radiant) um den Punkt (x, y) hinzu.
Gibt self zurück, sodass diese Methode einfach mit weiteren Aufrufen von
rotate(),rotate_deg(),translate()undscale()verkettet werden kann.
- rotate_deg(degrees)[Quelle]#
Fügt dieser Transformation in situ eine Drehung (in Grad) hinzu.
Gibt self zurück, sodass diese Methode einfach mit weiteren Aufrufen von
rotate(),rotate_deg(),translate()undscale()verkettet werden kann.
- rotate_deg_around(x, y, degrees)[Quelle]#
Fügt in situ eine Drehung (in Grad) um den Punkt (x, y) hinzu.
Gibt self zurück, sodass diese Methode einfach mit weiteren Aufrufen von
rotate(),rotate_deg(),translate()undscale()verkettet werden kann.
- scale(sx, sy=None)[Quelle]#
Fügt in situ eine Skalierung hinzu.
Wenn sy None ist, wird die gleiche Skalierung in x- und y-Richtung angewendet.
Gibt self zurück, sodass diese Methode einfach mit weiteren Aufrufen von
rotate(),rotate_deg(),translate()undscale()verkettet werden kann.
- set(other)[Quelle]#
Setzt diese Transformation aus einer gefrorenen Kopie eines anderen
Affine2DBase-Objekts.
- set_matrix(mtx)[Quelle]#
Setzt die zugrundeliegende Transformationsmatrix aus einem 3x3-Array
a c e b d f 0 0 1
.
- skew(xShear, yShear)[Quelle]#
Fügt in situ eine Scherung hinzu.
xShear und yShear sind die Scherwinkel entlang der x- bzw. y-Achsen in Radiant.
Gibt self zurück, sodass diese Methode einfach mit weiteren Aufrufen von
rotate(),rotate_deg(),translate()undscale()verkettet werden kann.
- skew_deg(xShear, yShear)[Quelle]#
Fügt in situ eine Scherung hinzu.
xShear und yShear sind die Scherwinkel entlang der x- bzw. y-Achsen in Grad.
Gibt self zurück, sodass diese Methode einfach mit weiteren Aufrufen von
rotate(),rotate_deg(),translate()undscale()verkettet werden kann.
- translate(tx, ty)[Quelle]#
Fügt in situ eine Translation hinzu.
Gibt self zurück, sodass diese Methode einfach mit weiteren Aufrufen von
rotate(),rotate_deg(),translate()undscale()verkettet werden kann.
- class matplotlib.transforms.Affine2DBase(*args, **kwargs)[Quelle]#
Bases:
AffineBaseDie Basisklasse aller 2D-affinen Transformationen.
2D-affine Transformationen werden mit einer 3x3-Numpy-Matrix durchgeführt
a c e b d f 0 0 1
Diese Klasse bietet die schreibgeschützte Schnittstelle. Für eine veränderliche 2D-affine Transformation verwenden Sie
Affine2D.Unterklassen dieser Klasse müssen im Allgemeinen nur einen Konstruktor und
get_matrixüberschreiben, die eine benutzerdefinierte 3x3-Matrix generiert.- Parameter:
- shorthand_namestr
Ein String, der den "Namen" der Transformation darstellt. Der Name hat keine Bedeutung, außer zur Verbesserung der Lesbarkeit von
str(transform)bei DEBUG=True.
- frozen()[Quelle]#
Gibt eine gefrorene Kopie dieses Transformationsknotens zurück. Die gefrorene Kopie wird nicht aktualisiert, wenn sich ihre Kinder ändern. Nützlich zum Speichern eines zuvor bekannten Zustands einer Transformation, bei der normalerweise
copy.deepcopy()verwendet werden könnte.
- has_inverse = True#
True, wenn diese Transformation eine entsprechende Umkehrtansformation hat.
- input_dims = 2#
Die Anzahl der Eingabedimensionen dieser Transformation. Muss in der Unterklasse überschrieben werden (mit Ganzzahlen).
- inverted()[Quelle]#
Gibt die entsprechende Umkehrtansformation zurück.
Es gilt
x == self.inverted().transform(self.transform(x)).Der Rückgabewert dieser Methode sollte als temporär behandelt werden. Eine Änderung an self führt nicht zu einer entsprechenden Änderung an seiner umgekehrten Kopie.
- property is_separable#
Gibt True zurück, wenn das Argument wahr ist, andernfalls False. Die integrierten True und False sind die einzigen beiden Instanzen der Klasse bool. Die Klasse bool ist eine Unterklasse der Klasse int und kann nicht unterklassifiziert werden.
- output_dims = 2#
Die Anzahl der Ausgabedimensionen dieser Transformation. Muss in der Unterklasse überschrieben werden (mit Ganzzahlen).
- transform_affine(values)[Quelle]#
Wendet nur den affinen Teil dieser Transformation auf das angegebene Array von Werten an.
transform(values)ist immer äquivalent zutransform_affine(transform_non_affine(values)).Bei nicht-affinen Transformationen ist dies im Allgemeinen eine No-Op. Bei affinen Transformationen ist dies äquivalent zu
transform(values).- Parameter:
- valuesarray
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- class matplotlib.transforms.AffineBase(*args, **kwargs)[Quelle]#
Bases:
TransformDie Basisklasse aller affinen Transformationen beliebiger Dimensionalität.
- Parameter:
- shorthand_namestr
Ein String, der den "Namen" der Transformation darstellt. Der Name hat keine Bedeutung, außer zur Verbesserung der Lesbarkeit von
str(transform)bei DEBUG=True.
- is_affine = True#
- transform(values)[Quelle]#
Wendet diese Transformation auf die angegebenen Werte an.
- Parameter:
- valuesarray-artig
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- transform_affine(values)[Quelle]#
Wendet nur den affinen Teil dieser Transformation auf das angegebene Array von Werten an.
transform(values)ist immer äquivalent zutransform_affine(transform_non_affine(values)).Bei nicht-affinen Transformationen ist dies im Allgemeinen eine No-Op. Bei affinen Transformationen ist dies äquivalent zu
transform(values).- Parameter:
- valuesarray
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- transform_non_affine(values)[Quelle]#
Wendet nur den nicht-affinen Teil dieser Transformation an.
transform(values)ist immer äquivalent zutransform_affine(transform_non_affine(values)).Bei nicht-affinen Transformationen ist dies im Allgemeinen äquivalent zu
transform(values). Bei affinen Transformationen ist dies immer eine No-Op.- Parameter:
- valuesarray
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- transform_path(path)[Quelle]#
Wendet die Transformation auf
Pathpath an und gibt einen neuenPathzurück.In einigen Fällen kann diese Transformation dem Pfad Kurven hinzufügen, die als Liniensegmente begonnen haben.
- class matplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[Quelle]#
Bases:
Affine2DBaseEin Transformationswrapper für die Transformation von Verschiebungen zwischen Punktpaaren.
Diese Klasse ist dazu bestimmt, Verschiebungen ("Positionsdifferenzen") zwischen Punktpaaren zu transformieren (z. B. als
offset_transformvonCollections): Gegeben sei eine Transformationt, so dasst = AffineDeltaTransform(t) + offset, erfülltAffineDeltaTransformAffineDeltaTransform(a - b) == AffineDeltaTransform(a) - AffineDeltaTransform(b).Dies wird durch Nullsetzen der Offset-Komponenten der Transformationsmatrix erreicht.
Diese Klasse ist ab Version 3.3 experimentell und die API kann sich ändern.
- Parameter:
- shorthand_namestr
Ein String, der den "Namen" der Transformation darstellt. Der Name hat keine Bedeutung, außer zur Verbesserung der Lesbarkeit von
str(transform)bei DEBUG=True.
- pass_through = True#
Wenn pass_through True ist, werden alle Vorfahren immer invalidiert, auch wenn 'self' bereits ungültig ist.
- class matplotlib.transforms.Bbox(points, **kwargs)[Quelle]#
Bases:
BboxBaseEine veränderliche Begrenzungsbox.
Beispiele
Erstellen aus bekannten Grenzen
Der Standardkonstruktor nimmt die Grenz-"Punkte"
[[xmin, ymin], [xmax, ymax]]entgegen.>>> Bbox([[1, 1], [3, 7]]) Bbox([[1.0, 1.0], [3.0, 7.0]])
Alternativ kann eine Bbox aus dem abgeflachten Punkte-Array, den sogenannten "Extents"
(xmin, ymin, xmax, ymax), erstellt werden.>>> Bbox.from_extents(1, 1, 3, 7) Bbox([[1.0, 1.0], [3.0, 7.0]])
oder aus den "Bounds"
(xmin, ymin, width, height).>>> Bbox.from_bounds(1, 1, 2, 6) Bbox([[1.0, 1.0], [3.0, 7.0]])
Erstellen aus Punktesammlungen
Das "leere" Objekt für die Akkumulation von Bboxs ist die Null-Bbox, die ein Platzhalter für die leere Menge ist.
>>> Bbox.null() Bbox([[inf, inf], [-inf, -inf]])
Das Hinzufügen von Punkten zur Null-Bbox ergibt die Bbox dieser Punkte.
>>> box = Bbox.null() >>> box.update_from_data_xy([[1, 1]]) >>> box Bbox([[1.0, 1.0], [1.0, 1.0]]) >>> box.update_from_data_xy([[2, 3], [3, 2]], ignore=False) >>> box Bbox([[1.0, 1.0], [3.0, 3.0]])
Das Setzen von
ignore=Trueist äquivalent zum Neuanfang von einer Null-Bbox.>>> box.update_from_data_xy([[1, 1]], ignore=True) >>> box Bbox([[1.0, 1.0], [1.0, 1.0]])
Warnung
Es wird empfohlen,
ignoreimmer explizit anzugeben. Wenn nicht, kann der Standardwert vonignorejederzeit von Code mit Zugriff auf Ihre Bbox geändert werden, z. B. über die Methodeignore.Eigenschaften der ``null`` Bbox
Hinweis
Das aktuelle Verhalten von
Bbox.null()kann überraschend sein, da es nicht alle Eigenschaften der "leeren Menge" besitzt und sich daher nicht wie ein "Null"-Objekt im mathematischen Sinne verhält. Dies kann in Zukunft geändert werden (mit einer Vorlaufzeit).Die Null-Bbox ist die Identität für Schnitte
>>> Bbox.intersection(Bbox([[1, 1], [3, 7]]), Bbox.null()) Bbox([[1.0, 1.0], [3.0, 7.0]])
außer mit sich selbst, wo sie den vollen Raum zurückgibt.
>>> Bbox.intersection(Bbox.null(), Bbox.null()) Bbox([[-inf, -inf], [inf, inf]])
Eine Vereinigung, die Null enthält, gibt immer den vollen Raum zurück (nicht die andere Menge!)
>>> Bbox.union([Bbox([[0, 0], [0, 0]]), Bbox.null()]) Bbox([[-inf, -inf], [inf, inf]])
- Parameter:
- points
ndarray Ein (2, 2)-Array der Form
[[x0, y0], [x1, y1]].
- points
- static from_bounds(x0, y0, width, height)[Quelle]#
Erstellt eine neue
Bboxaus x0, y0, width und height.width und height können negativ sein.
- static from_extents(*args, minpos=None)[Quelle]#
Erstellt eine neue Bbox aus links, unten, rechts und oben.
Die y-Achse steigt nach oben.
- Parameter:
- left, bottom, right, topfloat
Die vier Grenzen der Bounding Box.
- minposfloat or None
Wenn dies angegeben ist, hat die Bbox einen minimalen positiven Wert. Dies ist nützlich bei der Arbeit mit logarithmischen Skalen und anderen Skalen, bei denen negative Grenzen zu Gleitkommafehlern führen.
- frozen()[Quelle]#
Die Basisklasse für alles, was am Transformationsbaum teilnimmt und seine Eltern invalidieren oder invalidiert werden muss. Dazu gehören auch Klassen, die nicht wirklich Transformationen sind, wie Begrenzungsrahmen, da einige Transformationen von Begrenzungsrahmen abhängen, um ihre Werte zu berechnen.
- get_points()[Quelle]#
Gibt die Punkte der Bounding Box als Array der Form
[[x0, y0], [x1, y1]]zurück.
- ignore(value)[Quelle]#
Legt fest, ob die vorhandenen Grenzen der Box bei nachfolgenden Aufrufen von
update_from_data_xy()ignoriert werden sollen.- valuebool
Wenn
True, werden nachfolgende Aufrufe vonupdate_from_data_xydie vorhandenen Grenzen derBboxignorieren.Wenn
False, werden nachfolgende Aufrufe vonupdate_from_data_xydie vorhandenen Grenzen derBboxeinschließen.
- property intervalx#
Das Paar von x-Koordinaten, die die Bounding Box definieren.
Es ist nicht garantiert, dass diese von links nach rechts sortiert sind.
- property intervaly#
Das Paar von y-Koordinaten, die die Bounding Box definieren.
Es ist nicht garantiert, dass diese von unten nach oben sortiert sind.
- property minpos#
Der kleinste positive Wert in beiden Richtungen innerhalb der Bbox.
Dies ist nützlich bei der Arbeit mit logarithmischen Skalen und anderen Skalen, bei denen negative Grenzen zu Gleitkommafehlern führen, und wird als minimale Ausdehnung anstelle von p0 verwendet.
- property minposx#
Der kleinste positive Wert in der x-Richtung innerhalb der Bbox.
Dies ist nützlich bei der Arbeit mit logarithmischen Skalen und anderen Skalen, bei denen negative Grenzen zu Gleitkommafehlern führen, und wird als minimale x-Ausdehnung anstelle von x0 verwendet.
- property minposy#
Der kleinste positive Wert in der y-Richtung innerhalb der Bbox.
Dies ist nützlich bei der Arbeit mit logarithmischen Skalen und anderen Skalen, bei denen negative Grenzen zu Gleitkommafehlern führen, und wird als minimale y-Ausdehnung anstelle von y0 verwendet.
- property p0#
Das erste Paar von (x, y) Koordinaten, das die Bounding Box definiert.
Dies ist nicht garantiert die untere linke Ecke (dafür verwenden Sie
min).
- property p1#
Das zweite Paar von (x, y) Koordinaten, das die Bounding Box definiert.
Dies ist nicht garantiert die obere rechte Ecke (dafür verwenden Sie
max).
- set_points(points)[Quelle]#
Setzt die Punkte der Bounding Box direkt aus einem Array der Form
[[x0, y0], [x1, y1]]. Es wird keine Fehlerprüfung durchgeführt, da diese Methode hauptsächlich für den internen Gebrauch bestimmt ist.
- update_from_data_x(x, ignore=None)[Quelle]#
Aktualisiert die x-Grenzen der
Bboxbasierend auf den übergebenen Daten. Nach der Aktualisierung haben die Grenzen eine positive Breite und x0 ist der Minimalwert.
- update_from_data_xy(xy, ignore=None, updatex=True, updatey=True)[Quelle]#
Aktualisiert die Grenzen der
Bboxbasierend auf den übergebenen xy-Koordinaten.Nach der Aktualisierung haben die Grenzen eine positive Breite und Höhe; x0 und y0 sind die Minimalwerte.
- Parameter:
- xy(N, 2) array-ähnlich
Die (x, y) Koordinaten.
- ignorebool, optional
- updatex, updateybool, Standard: True
Wenn
True, werden die x/y-Werte aktualisiert.
- update_from_data_y(y, ignore=None)[Quelle]#
Aktualisiert die y-Grenzen der
Bboxbasierend auf den übergebenen Daten. Nach der Aktualisierung haben die Grenzen eine positive Höhe und y0 ist der Minimalwert.
- update_from_path(path, ignore=None, updatex=True, updatey=True)[Quelle]#
Aktualisiert die Grenzen der
Bbox, um die Eckpunkte des bereitgestellten Pfades zu umschließen. Nach der Aktualisierung haben die Grenzen eine positive Breite und Höhe; x0 und y0 sind die Minimalwerte.- Parameter:
- path
Path - ignorebool, optional
- updatex, updateybool, Standard: True
Wenn
True, werden die x/y-Werte aktualisiert.
- path
- property x0#
Die erste der beiden x-Koordinaten, die die Bounding Box definieren.
Dies ist nicht garantiert kleiner als
x1(dafür verwenden Siexmin).
- property x1#
Die zweite der beiden x-Koordinaten, die die Bounding Box definieren.
Dies ist nicht garantiert größer als
x0(dafür verwenden Siexmax).
- class matplotlib.transforms.BboxBase(shorthand_name=None)[Quelle]#
Basiert auf:
TransformNodeDie Basisklasse aller Bounding Boxes.
Diese Klasse ist unveränderlich;
Bboxist eine veränderliche Unterklasse.Die kanonische Darstellung erfolgt als zwei Punkte, ohne Einschränkungen für ihre Reihenfolge. Bequeme Eigenschaften sind vorhanden, um die linke, untere, rechte und obere Kante sowie Breite und Höhe zu erhalten, diese werden jedoch nicht explizit gespeichert.
- Parameter:
- shorthand_namestr
Ein String, der den "Namen" der Transformation darstellt. Der Name hat keine Bedeutung, außer zur Verbesserung der Lesbarkeit von
str(transform)bei DEBUG=True.
- anchored(c, container)[Quelle]#
Gibt eine Kopie der
Bboxzurück, die an c innerhalb von container verankert ist.- Parameter:
- c(float, float) oder {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}
Entweder ein (x, y) Paar relativer Koordinaten (0 ist links oder unten, 1 ist rechts oder oben), 'C' (Mitte) oder eine Himmelsrichtung ('SW', Südwesten, ist unten links, usw.).
- container
Bbox Der Kasten, innerhalb dessen die
Bboxpositioniert wird.
Siehe auch
- coefs = {'C': (0.5, 0.5), 'E': (1.0, 0.5), 'N': (0.5, 1.0), 'NE': (1.0, 1.0), 'NW': (0, 1.0), 'S': (0.5, 0), 'SE': (1.0, 0), 'SW': (0, 0), 'W': (0, 0.5)}#
- corners()[Quelle]#
Gibt die Ecken dieses Rechtecks als Array von Punkten zurück.
Genauer gesagt gibt dies das Array
[[x0, y0], [x0, y1], [x1, y0], [x1, y1]]zurück.
- count_contains(vertices)[Quelle]#
Zählt die Anzahl der Eckpunkte, die in der
Bboxenthalten sind. Eckpunkte mit einem nicht-endlichen x- oder y-Wert werden ignoriert.- Parameter:
- vertices(N, 2) Array
- count_overlaps(bboxes)[Quelle]#
Zählt die Anzahl der Bounding Boxes, die sich mit dieser überschneiden.
- Parameter:
- bboxesSequenz von
BboxBase
- bboxesSequenz von
- expanded(sw, sh)[Quelle]#
Konstruiert eine
Bbox, indem diese um ihren Mittelpunkt um die Faktoren sw und sh erweitert wird.
- frozen()[Quelle]#
Die Basisklasse für alles, was am Transformationsbaum teilnimmt und seine Eltern invalidieren oder invalidiert werden muss. Dazu gehören auch Klassen, die nicht wirklich Transformationen sind, wie Begrenzungsrahmen, da einige Transformationen von Begrenzungsrahmen abhängen, um ihre Werte zu berechnen.
- fully_contains(x, y)[Quelle]#
Gibt zurück, ob
x, yin der Bounding Box liegt, aber nicht an deren Rand.
- fully_overlaps(other)[Quelle]#
Gibt zurück, ob diese Bounding Box mit der anderen Bounding Box überlappt, ohne die Ränder einzuschließen.
- Parameter:
- other
BboxBase
- other
- property height#
Die (vorzeichenbehaftete) Höhe der Bounding Box.
- static intersection(bbox1, bbox2)[Quelle]#
Gibt den Schnittpunkt von bbox1 und bbox2 zurück, wenn sie sich schneiden, oder None, wenn nicht.
- property intervalx#
Das Paar von x-Koordinaten, die die Bounding Box definieren.
Es ist nicht garantiert, dass diese von links nach rechts sortiert sind.
- property intervaly#
Das Paar von y-Koordinaten, die die Bounding Box definieren.
Es ist nicht garantiert, dass diese von unten nach oben sortiert sind.
- is_affine = True#
- is_bbox = True#
- property max#
Die obere rechte Ecke der Bounding Box.
- property min#
Die untere linke Ecke der Bounding Box.
- overlaps(other)[Quelle]#
Gibt zurück, ob diese Bounding Box mit der anderen Bounding Box überlappt.
- Parameter:
- other
BboxBase
- other
- property p0#
Das erste Paar von (x, y) Koordinaten, das die Bounding Box definiert.
Dies ist nicht garantiert die untere linke Ecke (dafür verwenden Sie
min).
- property p1#
Das zweite Paar von (x, y) Koordinaten, das die Bounding Box definiert.
Dies ist nicht garantiert die obere rechte Ecke (dafür verwenden Sie
max).
- padded(w_pad, h_pad=None)[Quelle]#
Konstruiert eine
Bbox, indem diese auf allen vier Seiten aufgepolstert wird.- Parameter:
- w_padfloat
Breiten-Padding.
- h_padfloat, optional
Höhen-Padding. Standard ist w_pad.
- rotated(radians)[Quelle]#
Gibt die achsenparallele Bounding Box zurück, die das Ergebnis der Drehung dieser
Bboxum einen Winkel von radians umschließt.
- shrunk(mx, my)[Quelle]#
Gibt eine Kopie der
Bboxzurück, die um den Faktor mx in der x-Richtung und um den Faktor my in der y-Richtung verkleinert wurde. Die untere linke Ecke des Kastens bleibt unverändert. Normalerweise sind mx und my kleiner als 1, dies wird jedoch nicht erzwungen.
- shrunk_to_aspect(box_aspect, container=None, fig_aspect=1.0)[Quelle]#
Gibt eine Kopie des
Bboxzurück, der so verkleinert wurde, dass er so groß wie möglich ist, während er das gewünschte Seitenverhältnis box_aspect hat. Wenn die Boxkoordinaten relativ sind (d. h. Bruchteile einer größeren Box wie einer Figur), dann wird das physikalische Seitenverhältnis dieser Figur mit fig_aspect angegeben, sodass box_aspect auch als Verhältnis der absoluten Abmessungen und nicht der relativen Abmessungen angegeben werden kann.
- property size#
Die (vorzeichenbehaftete) Breite und Höhe des Begrenzungsrahmens.
- splitx(*args)[Quelle]#
Gibt eine Liste neuer
Bbox-Objekte zurück, die durch Teilen der ursprünglichen Box mit vertikalen Linien an den durch args gegebenen Bruchteilen gebildet werden.
- splity(*args)[Quelle]#
Gibt eine Liste neuer
Bbox-Objekte zurück, die durch Teilen der ursprünglichen Box mit horizontalen Linien an den durch args gegebenen Bruchteilen gebildet werden.
- transformed(transform)[Quelle]#
Konstruiert eine
Bbox, indem diese statisch mit transform transformiert wird.
- property width#
Die (vorzeichenbehaftete) Breite des Begrenzungsrahmens.
- property x0#
Die erste der beiden x-Koordinaten, die die Bounding Box definieren.
Dies ist nicht garantiert kleiner als
x1(verwenden Sie dafürxmin).
- property x1#
Die zweite der beiden x-Koordinaten, die die Bounding Box definieren.
Dies ist nicht garantiert größer als
x0(verwenden Sie dafürxmax).
- property xmax#
Die rechte Kante des Begrenzungsrahmens.
- property xmin#
Die linke Kante des Begrenzungsrahmens.
- property y0#
Die erste der beiden y-Koordinaten, die die Bounding Box definieren.
Dies ist nicht garantiert kleiner als
y1(verwenden Sie dafürymin).
- property y1#
Die zweite der beiden y-Koordinaten, die die Bounding Box definieren.
Dies ist nicht garantiert größer als
y0(verwenden Sie dafürymax).
- property ymax#
Die obere Kante des Begrenzungsrahmens.
- property ymin#
Die untere Kante des Begrenzungsrahmens.
- class matplotlib.transforms.BboxTransform(boxin, boxout, **kwargs)[Quelle]#
Bases:
Affine2DBaseBboxTransformtransformiert Punkte linear von einerBboxzu einer anderen.Erstellt eine neue
BboxTransform, die Punkte linear von boxin nach boxout transformiert.- is_separable = True#
True, wenn diese Transformation in den x- und y-Dimensionen separierbar ist.
- class matplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[Quelle]#
Bases:
Affine2DBaseBboxTransformFromtransformiert Punkte linear von einer gegebenenBboxzur Einheits-Begrenzungsbox.- Parameter:
- shorthand_namestr
Ein String, der den "Namen" der Transformation darstellt. Der Name hat keine Bedeutung, außer zur Verbesserung der Lesbarkeit von
str(transform)bei DEBUG=True.
- is_separable = True#
True, wenn diese Transformation in den x- und y-Dimensionen separierbar ist.
- class matplotlib.transforms.BboxTransformTo(boxout, **kwargs)[Quelle]#
Bases:
Affine2DBaseBboxTransformToist eine Transformation, die Punkte linear von der Einheits-Begrenzungsbox zu einer gegebenenBboxtransformiert.Erstellt eine neue
BboxTransformTo, die Punkte linear von der Einheits-Begrenzungsbox zu boxout transformiert.- is_separable = True#
True, wenn diese Transformation in den x- und y-Dimensionen separierbar ist.
- class matplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[Quelle]#
Bases:
BboxTransformTo[Veraltet]
BboxTransformToMaxOnlyist eine Transformation, die Punkte linear von der Einheits-Begrenzungsbox zu einer gegebenenBboxmit einer festen oberen linken Ecke von (0, 0) transformiert.Anmerkungen
Seit Version 3.9 veraltet.
Erstellt eine neue
BboxTransformTo, die Punkte linear von der Einheits-Begrenzungsbox zu boxout transformiert.
- class matplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[Quelle]#
Bases:
_BlendedMixin,Affine2DBaseEine "gemischte" Transformation verwendet eine Transformation für die x-Richtung und eine andere für die y-Richtung.
Diese Version ist eine Optimierung für den Fall, dass beide Kindtransformationen vom Typ
Affine2DBasesind.Erstellt eine neue "gemischte" Transformation, die x_transform zur Transformation der x-Achse und y_transform zur Transformation der y-Achse verwendet.
Sowohl x_transform als auch y_transform müssen 2D-Affine-Transformationen sein.
Sie werden im Allgemeinen diesen Konstruktor nicht direkt aufrufen, sondern stattdessen die Funktion
blended_transform_factoryverwenden, die automatisch bestimmen kann, welche Art von gemischter Transformation erstellt werden soll.- is_separable = True#
True, wenn diese Transformation in den x- und y-Dimensionen separierbar ist.
- class matplotlib.transforms.BlendedGenericTransform(x_transform, y_transform, **kwargs)[Quelle]#
Bases:
_BlendedMixin,TransformEine "gemischte" Transformation verwendet eine Transformation für die x-Richtung und eine andere für die y-Richtung.
Diese "generische" Version kann beliebige Kindtransformationen in der x- und y-Richtung verarbeiten.
Erstellt eine neue "gemischte" Transformation, die x_transform zur Transformation der x-Achse und y_transform zur Transformation der y-Achse verwendet.
Sie werden im Allgemeinen diesen Konstruktor nicht direkt aufrufen, sondern stattdessen die Funktion
blended_transform_factoryverwenden, die automatisch bestimmen kann, welche Art von gemischter Transformation erstellt werden soll.- contains_branch(other)[Quelle]#
Gibt zurück, ob die gegebene Transformation ein Teilbaum dieser Transformation ist.
Diese Routine verwendet die Gleichheit von Transformationen zur Identifizierung von Teilbäumen. Daher wird in vielen Fällen die Objekt-ID verwendet.
Für den Fall, dass die gegebene Transformation die gesamte Transformation darstellt, wird True zurückgegeben.
- property depth#
Gibt die Anzahl der Transformationen zurück, die miteinander verkettet wurden, um diese Transformationsinstanz zu bilden.
Hinweis
Für den Sonderfall einer zusammengesetzten Transformation wird die maximale Tiefe der beiden zurückgegeben.
- frozen()[Quelle]#
Gibt eine gefrorene Kopie dieses Transformationsknotens zurück. Die gefrorene Kopie wird nicht aktualisiert, wenn sich ihre Kinder ändern. Nützlich zum Speichern eines zuvor bekannten Zustands einer Transformation, bei der normalerweise
copy.deepcopy()verwendet werden könnte.
- property has_inverse#
Gibt True zurück, wenn das Argument wahr ist, andernfalls False. Die integrierten True und False sind die einzigen beiden Instanzen der Klasse bool. Die Klasse bool ist eine Unterklasse der Klasse int und kann nicht unterklassifiziert werden.
- input_dims = 2#
Die Anzahl der Eingabedimensionen dieser Transformation. Muss in der Unterklasse überschrieben werden (mit Ganzzahlen).
- inverted()[Quelle]#
Gibt die entsprechende Umkehrtansformation zurück.
Es gilt
x == self.inverted().transform(self.transform(x)).Der Rückgabewert dieser Methode sollte als temporär behandelt werden. Eine Änderung an self führt nicht zu einer entsprechenden Änderung an seiner umgekehrten Kopie.
- property is_affine#
Gibt True zurück, wenn das Argument wahr ist, andernfalls False. Die integrierten True und False sind die einzigen beiden Instanzen der Klasse bool. Die Klasse bool ist eine Unterklasse der Klasse int und kann nicht unterklassifiziert werden.
- is_separable = True#
True, wenn diese Transformation in den x- und y-Dimensionen separierbar ist.
- output_dims = 2#
Die Anzahl der Ausgabedimensionen dieser Transformation. Muss in der Unterklasse überschrieben werden (mit Ganzzahlen).
- pass_through = True#
Wenn pass_through True ist, werden alle Vorfahren immer invalidiert, auch wenn 'self' bereits ungültig ist.
- transform_non_affine(values)[Quelle]#
Wendet nur den nicht-affinen Teil dieser Transformation an.
transform(values)ist immer äquivalent zutransform_affine(transform_non_affine(values)).Bei nicht-affinen Transformationen ist dies im Allgemeinen äquivalent zu
transform(values). Bei affinen Transformationen ist dies immer eine No-Op.- Parameter:
- valuesarray
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- class matplotlib.transforms.CompositeAffine2D(a, b, **kwargs)[Quelle]#
Bases:
Affine2DBaseEine zusammengesetzte Transformation, die durch Anwendung der Transformation a und dann der Transformation b gebildet wird.
Diese Version ist eine Optimierung, die den Fall behandelt, dass beide a und b 2D-Affines sind.
Erstellt eine neue zusammengesetzte Transformation, die das Ergebnis der Anwendung von
Affine2DBasea und dannAffine2DBaseb ist.Sie werden diesen Konstruktor im Allgemeinen nicht direkt aufrufen, sondern stattdessen
a + bschreiben, was automatisch die beste Art von zusammengesetzter Transformationsinstanz zur Erstellung auswählt.- property depth#
Gibt die Anzahl der Transformationen zurück, die miteinander verkettet wurden, um diese Transformationsinstanz zu bilden.
Hinweis
Für den Sonderfall einer zusammengesetzten Transformation wird die maximale Tiefe der beiden zurückgegeben.
- class matplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[Quelle]#
Bases:
TransformEine zusammengesetzte Transformation, die durch Anwendung der Transformation a und dann der Transformation b gebildet wird.
Diese "generische" Version kann beliebige zwei beliebige Transformationen verarbeiten.
Erstellt eine neue zusammengesetzte Transformation, die das Ergebnis der Anwendung der Transformation a und dann der Transformation b ist.
Sie werden diesen Konstruktor im Allgemeinen nicht direkt aufrufen, sondern stattdessen
a + bschreiben, was automatisch die beste Art von zusammengesetzter Transformationsinstanz zur Erstellung auswählt.- contains_branch_seperately(other_transform)[Quelle]#
Gibt zurück, ob der gegebene Zweig ein Teilbaum dieser Transformation in jeder separaten Dimension ist.
Eine häufige Verwendung dieser Methode ist die Identifizierung, ob eine Transformation eine gemischte Transformation ist, die die Datentransformation eines Achsenobjekts enthält. z.B.
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
- property depth#
Gibt die Anzahl der Transformationen zurück, die miteinander verkettet wurden, um diese Transformationsinstanz zu bilden.
Hinweis
Für den Sonderfall einer zusammengesetzten Transformation wird die maximale Tiefe der beiden zurückgegeben.
- frozen()[Quelle]#
Gibt eine gefrorene Kopie dieses Transformationsknotens zurück. Die gefrorene Kopie wird nicht aktualisiert, wenn sich ihre Kinder ändern. Nützlich zum Speichern eines zuvor bekannten Zustands einer Transformation, bei der normalerweise
copy.deepcopy()verwendet werden könnte.
- property has_inverse#
Gibt True zurück, wenn das Argument wahr ist, andernfalls False. Die integrierten True und False sind die einzigen beiden Instanzen der Klasse bool. Die Klasse bool ist eine Unterklasse der Klasse int und kann nicht unterklassifiziert werden.
- inverted()[Quelle]#
Gibt die entsprechende Umkehrtansformation zurück.
Es gilt
x == self.inverted().transform(self.transform(x)).Der Rückgabewert dieser Methode sollte als temporär behandelt werden. Eine Änderung an self führt nicht zu einer entsprechenden Änderung an seiner umgekehrten Kopie.
- property is_affine#
Gibt True zurück, wenn das Argument wahr ist, andernfalls False. Die integrierten True und False sind die einzigen beiden Instanzen der Klasse bool. Die Klasse bool ist eine Unterklasse der Klasse int und kann nicht unterklassifiziert werden.
- property is_separable#
Gibt True zurück, wenn das Argument wahr ist, andernfalls False. Die integrierten True und False sind die einzigen beiden Instanzen der Klasse bool. Die Klasse bool ist eine Unterklasse der Klasse int und kann nicht unterklassifiziert werden.
- pass_through = True#
Wenn pass_through True ist, werden alle Vorfahren immer invalidiert, auch wenn 'self' bereits ungültig ist.
- transform_affine(values)[Quelle]#
Wendet nur den affinen Teil dieser Transformation auf das angegebene Array von Werten an.
transform(values)ist immer äquivalent zutransform_affine(transform_non_affine(values)).Bei nicht-affinen Transformationen ist dies im Allgemeinen eine No-Op. Bei affinen Transformationen ist dies äquivalent zu
transform(values).- Parameter:
- valuesarray
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- transform_non_affine(values)[Quelle]#
Wendet nur den nicht-affinen Teil dieser Transformation an.
transform(values)ist immer äquivalent zutransform_affine(transform_non_affine(values)).Bei nicht-affinen Transformationen ist dies im Allgemeinen äquivalent zu
transform(values). Bei affinen Transformationen ist dies immer eine No-Op.- Parameter:
- valuesarray
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- class matplotlib.transforms.IdentityTransform(*args, **kwargs)[Quelle]#
Bases:
Affine2DBaseEine spezielle Klasse, die die Identitätstransformation auf schnelle Weise durchführt.
- Parameter:
- shorthand_namestr
Ein String, der den "Namen" der Transformation darstellt. Der Name hat keine Bedeutung, außer zur Verbesserung der Lesbarkeit von
str(transform)bei DEBUG=True.
- frozen()[Quelle]#
Gibt eine gefrorene Kopie dieses Transformationsknotens zurück. Die gefrorene Kopie wird nicht aktualisiert, wenn sich ihre Kinder ändern. Nützlich zum Speichern eines zuvor bekannten Zustands einer Transformation, bei der normalerweise
copy.deepcopy()verwendet werden könnte.
- inverted()[Quelle]#
Gibt die entsprechende Umkehrtansformation zurück.
Es gilt
x == self.inverted().transform(self.transform(x)).Der Rückgabewert dieser Methode sollte als temporär behandelt werden. Eine Änderung an self führt nicht zu einer entsprechenden Änderung an seiner umgekehrten Kopie.
- transform(values)[Quelle]#
Wendet diese Transformation auf die angegebenen Werte an.
- Parameter:
- valuesarray-artig
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- transform_affine(values)[Quelle]#
Wendet nur den affinen Teil dieser Transformation auf das angegebene Array von Werten an.
transform(values)ist immer äquivalent zutransform_affine(transform_non_affine(values)).Bei nicht-affinen Transformationen ist dies im Allgemeinen eine No-Op. Bei affinen Transformationen ist dies äquivalent zu
transform(values).- Parameter:
- valuesarray
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- transform_non_affine(werte)[source]#
Wendet nur den nicht-affinen Teil dieser Transformation an.
transform(values)ist immer äquivalent zutransform_affine(transform_non_affine(values)).Bei nicht-affinen Transformationen ist dies im Allgemeinen äquivalent zu
transform(values). Bei affinen Transformationen ist dies immer eine No-Op.- Parameter:
- valuesarray
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- transform_path(pfad)[source]#
Wendet die Transformation auf
Pathpath an und gibt einen neuenPathzurück.In einigen Fällen kann diese Transformation dem Pfad Kurven hinzufügen, die als Liniensegmente begonnen haben.
- class matplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source]#
Bases:
BboxBaseEin
Bbox, bei dem einige Elemente auf bestimmte Werte gesperrt sein können.Wenn sich der untergeordnete Begrenzungsrahmen ändert, werden die Grenzen dieses Bbox entsprechend aktualisiert, mit Ausnahme der gesperrten Elemente.
- Parameter:
- bbox
Bbox Der untergeordnete Begrenzungsrahmen, der umhüllt werden soll.
- x0float oder None
Der gesperrte Wert für x0 oder None, um ihn nicht zu sperren.
- y0float oder None
Der gesperrte Wert für y0 oder None, um ihn nicht zu sperren.
- x1float oder None
Der gesperrte Wert für x1 oder None, um ihn nicht zu sperren.
- y1float oder None
Der gesperrte Wert für y1 oder None, um ihn nicht zu sperren.
- bbox
- property locked_x0#
float oder None: Der für den gesperrten x0 verwendete Wert.
- property locked_x1#
float oder None: Der für den gesperrten x1 verwendete Wert.
- property locked_y0#
float oder None: Der für den gesperrten y0 verwendete Wert.
- property locked_y1#
float oder None: Der für den gesperrten y1 verwendete Wert.
- class matplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[source]#
Bases:
Affine2DBaseEine Transformation, die um xt und yt verschiebt, nachdem xt und yt durch scale_trans transformiert wurden.
- Parameter:
- shorthand_namestr
Ein String, der den "Namen" der Transformation darstellt. Der Name hat keine Bedeutung, außer zur Verbesserung der Lesbarkeit von
str(transform)bei DEBUG=True.
- class matplotlib.transforms.Transform(shorthand_name=None)[source]#
Basiert auf:
TransformNodeDie Basisklasse aller
TransformNode-Instanzen, die tatsächlich eine Transformation durchführen.Alle nicht-affinen Transformationen sollten Unterklassen dieser Klasse sein. Neue affine Transformationen sollten Unterklassen von
Affine2Dsein.Unterklassen dieser Klasse sollten die folgenden Mitglieder überschreiben (mindestens)
inverted()(wenn eine Umkehrung existiert)
Die folgenden Attribute können überschrieben werden, wenn die Standardeinstellung ungeeignet ist
is_separable(standardmäßig True für 1D -> 1D-Transformationen, sonst False)has_inverse(standardmäßig True, wenninverted()überschrieben wird, sonst False)
Wenn die Transformation etwas nicht standardmäßiges mit
matplotlib.path.Path-Objekten tun muss, z. B. Kurven hinzufügen, wo zuvor Liniensegmente waren, sollte sie überschreiben- Parameter:
- shorthand_namestr
Ein String, der den "Namen" der Transformation darstellt. Der Name hat keine Bedeutung, außer zur Verbesserung der Lesbarkeit von
str(transform)bei DEBUG=True.
- __add__(other)[source]#
Zwei Transformationen komponieren, so dass self von other gefolgt wird.
A + Bgibt eine TransformationCzurück, so dassC.transform(x) == B.transform(A.transform(x)).
- __sub__(other)[source]#
Komponiere self mit der Umkehrung von other, wobei identische Terme, falls vorhanden, gekürzt werden.
# In general: A - B == A + B.inverted() # (but see note regarding frozen transforms below). # If A "ends with" B (i.e. A == A' + B for some A') we can cancel # out B: (A' + B) - B == A' # Likewise, if B "starts with" A (B = A + B'), we can cancel out A: A - (A + B') == B'.inverted() == B'^-1
Kürzung (anstatt naiv
A + B.inverted()zurückzugeben) ist aus mehreren Gründen wichtigSie vermeidet Ungenauigkeiten bei Fließkommazahlen bei der Berechnung der Umkehrung von B:
B - Bwird garantiert exakt gekürzt (was zur Identitätstransformation führt), währendB + B.inverted()um einen kleinen Epsilon-Wert abweichen kann.B.inverted()gibt immer eine gefrorene Transformation zurück: Wenn manA + B + B.inverted()berechnet und späterBmutiert, dann wirdB.inverted()nicht aktualisiert und die letzten beiden Terme kürzen sich nicht mehr; andererseits istA + B - Bimmer gleichA, auch wennBmutiert wird.
- contains_branch(other)[source]#
Gibt zurück, ob die gegebene Transformation ein Teilbaum dieser Transformation ist.
Diese Routine verwendet die Gleichheit von Transformationen zur Identifizierung von Teilbäumen. Daher wird in vielen Fällen die Objekt-ID verwendet.
Für den Fall, dass die gegebene Transformation die gesamte Transformation darstellt, wird True zurückgegeben.
- contains_branch_seperately(other_transform)[source]#
Gibt zurück, ob der gegebene Zweig ein Teilbaum dieser Transformation in jeder separaten Dimension ist.
Eine häufige Verwendung dieser Methode ist die Identifizierung, ob eine Transformation eine gemischte Transformation ist, die die Datentransformation eines Achsenobjekts enthält. z.B.
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
- property depth#
Gibt die Anzahl der Transformationen zurück, die miteinander verkettet wurden, um diese Transformationsinstanz zu bilden.
Hinweis
Für den Sonderfall einer zusammengesetzten Transformation wird die maximale Tiefe der beiden zurückgegeben.
- has_inverse = False#
True, wenn diese Transformation eine entsprechende Umkehrtansformation hat.
- input_dims = None#
Die Anzahl der Eingabedimensionen dieser Transformation. Muss in der Unterklasse überschrieben werden (mit Ganzzahlen).
- inverted()[source]#
Gibt die entsprechende Umkehrtansformation zurück.
Es gilt
x == self.inverted().transform(self.transform(x)).Der Rückgabewert dieser Methode sollte als temporär behandelt werden. Eine Änderung an self führt nicht zu einer entsprechenden Änderung an seiner umgekehrten Kopie.
- is_separable = False#
True, wenn diese Transformation in den x- und y-Dimensionen separierbar ist.
- output_dims = None#
Die Anzahl der Ausgabedimensionen dieser Transformation. Muss in der Unterklasse überschrieben werden (mit Ganzzahlen).
- transform(werte)[source]#
Wendet diese Transformation auf die angegebenen Werte an.
- Parameter:
- valuesarray-artig
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- transform_affine(werte)[source]#
Wendet nur den affinen Teil dieser Transformation auf das angegebene Array von Werten an.
transform(values)ist immer äquivalent zutransform_affine(transform_non_affine(values)).Bei nicht-affinen Transformationen ist dies im Allgemeinen eine No-Op. Bei affinen Transformationen ist dies äquivalent zu
transform(values).- Parameter:
- valuesarray
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- transform_angles(winkel, punkte, radiant=False, pushoff=1e-05)[source]#
Transformiere eine Reihe von Winkeln, die an bestimmten Positionen verankert sind.
- Parameter:
- winkel(N,) Array-ähnlich
Die zu transformierenden Winkel.
- punkte(N, 2) Array-ähnlich
Die Punkte, an denen die Winkel verankert sind.
- radiantbool, standardmäßig: False
Ob winkel Radianten oder Grade sind.
- pushofffloat
Für jeden Punkt in punkte und jeden Winkel in winkel wird der transformierte Winkel berechnet, indem ein Segment der Länge pushoff von diesem Punkt aus transformiert wird und es relativ zur horizontalen Achse macht. Dann wird der Winkel zwischen der horizontalen Achse und dem transformierten Segment gemessen.
- Gibt zurück:
- (N,) Array
- transform_bbox(bbox)[source]#
Transformiere die gegebene Begrenzungsbox.
Für intelligentere Transformationen, einschließlich Caching (eine häufige Anforderung in Matplotlib), siehe
TransformedBbox.
- transform_non_affine(werte)[source]#
Wendet nur den nicht-affinen Teil dieser Transformation an.
transform(values)ist immer äquivalent zutransform_affine(transform_non_affine(values)).Bei nicht-affinen Transformationen ist dies im Allgemeinen äquivalent zu
transform(values). Bei affinen Transformationen ist dies immer eine No-Op.- Parameter:
- valuesarray
Die Eingabewerte als Array der Länge
input_dimsoder Form (N,input_dims).
- Gibt zurück:
- Array
Die Ausgabewerte als Array der Länge
output_dimsoder Form (N,output_dims), abhängig von der Eingabe.
- transform_path(pfad)[source]#
Wendet die Transformation auf
Pathpath an und gibt einen neuenPathzurück.In einigen Fällen kann diese Transformation dem Pfad Kurven hinzufügen, die als Liniensegmente begonnen haben.
- transform_path_affine(pfad)[source]#
Wendet den affinen Teil dieser Transformation auf
Pathpath an und gibt einen neuenPathzurück.transform_path(path)ist äquivalent zutransform_path_affine(transform_path_non_affine(values)).
- transform_path_non_affine(pfad)[source]#
Wendet den nicht-affinen Teil dieser Transformation auf
Pathpath an und gibt einen neuenPathzurück.transform_path(path)ist äquivalent zutransform_path_affine(transform_path_non_affine(values)).
- transform_point(punkt)[source]#
Gibt einen transformierten Punkt zurück.
Diese Funktion wird nur aus Kompatibilitätsgründen beibehalten; die allgemeinere Methode
transformkann sowohl eine Liste von Punkten als auch einen einzelnen Punkt transformieren.Der Punkt wird als Sequenz der Länge
input_dimsangegeben. Der transformierte Punkt wird als Sequenz der Längeoutput_dimszurückgegeben, abhängig von der Eingabe.
- class matplotlib.transforms.TransformNode(shorthand_name=None)[source]#
Bases:
objectDie Basisklasse für alles, was am Transformationsbaum teilnimmt und seine Eltern invalidieren oder invalidiert werden muss. Dazu gehören auch Klassen, die nicht wirklich Transformationen sind, wie Begrenzungsrahmen, da einige Transformationen von Begrenzungsrahmen abhängen, um ihre Werte zu berechnen.
- Parameter:
- shorthand_namestr
Ein String, der den "Namen" der Transformation darstellt. Der Name hat keine Bedeutung, außer zur Verbesserung der Lesbarkeit von
str(transform)bei DEBUG=True.
- frozen()[source]#
Gibt eine gefrorene Kopie dieses Transformationsknotens zurück. Die gefrorene Kopie wird nicht aktualisiert, wenn sich ihre Kinder ändern. Nützlich zum Speichern eines zuvor bekannten Zustands einer Transformation, bei der normalerweise
copy.deepcopy()verwendet werden könnte.
- invalidate()[source]#
Ungültig machen dieses
TransformNodeund löst die Ungültigmachung seiner Vorfahren aus. Sollte aufgerufen werden, wenn sich die Transformation ändert.
- is_affine = False#
- is_bbox = False#
- pass_through = False#
Wenn pass_through True ist, werden alle Vorfahren immer invalidiert, auch wenn 'self' bereits ungültig ist.
- class matplotlib.transforms.TransformWrapper(child)[source]#
Bases:
TransformEine Hilfsklasse, die eine einzelne Kindertransformation enthält und sich äquivalent zu dieser verhält.
Dies ist nützlich, wenn ein Knoten des Transformationsbaums zur Laufzeit durch eine Transformation eines anderen Typs ersetzt werden muss. Diese Klasse ermöglicht es, dass diese Ersetzung die Ungültigmachung korrekt auslöst.
TransformWrapper-Instanzen müssen während ihrer gesamten Lebensdauer dieselben Eingabe- und Ausgabedimensionen haben, daher darf die Kindertransformation nur durch eine andere Kindertransformation mit denselben Dimensionen ersetzt werden.child: Eine
Transform-Instanz. Dieses Kind kann später mitset()ersetzt werden.- frozen()[source]#
Gibt eine gefrorene Kopie dieses Transformationsknotens zurück. Die gefrorene Kopie wird nicht aktualisiert, wenn sich ihre Kinder ändern. Nützlich zum Speichern eines zuvor bekannten Zustands einer Transformation, bei der normalerweise
copy.deepcopy()verwendet werden könnte.
- property has_inverse#
Gibt True zurück, wenn das Argument wahr ist, andernfalls False. Die integrierten True und False sind die einzigen beiden Instanzen der Klasse bool. Die Klasse bool ist eine Unterklasse der Klasse int und kann nicht unterklassifiziert werden.
- property input_dims#
Der Typ des None-Singulars.
- property is_affine#
Gibt True zurück, wenn das Argument wahr ist, andernfalls False. Die integrierten True und False sind die einzigen beiden Instanzen der Klasse bool. Die Klasse bool ist eine Unterklasse der Klasse int und kann nicht unterklassifiziert werden.
- property is_separable#
Gibt True zurück, wenn das Argument wahr ist, andernfalls False. Die integrierten True und False sind die einzigen beiden Instanzen der Klasse bool. Die Klasse bool ist eine Unterklasse der Klasse int und kann nicht unterklassifiziert werden.
- property output_dims#
Der Typ des None-Singulars.
- pass_through = True#
Wenn pass_through True ist, werden alle Vorfahren immer invalidiert, auch wenn 'self' bereits ungültig ist.
- class matplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[source]#
Bases:
BboxBaseEin
Bbox, der automatisch durch eine gegebene Transformation transformiert wird. Wenn sich entweder der untergeordnete Begrenzungsrahmen oder die Transformation ändert, werden die Grenzen dieses Bbox entsprechend aktualisiert.
- class matplotlib.transforms.TransformedPatchPath(patch)[source]#
Bases:
TransformedPathEin
TransformedPatchPathspeichert eine nicht-affin transformierte Kopie desPatchzwischen. Diese zwischengespeicherte Kopie wird automatisch aktualisiert, wenn sich der nicht-affine Teil der Transformation oder der Patch ändert.- Parameter:
- patch
Patch
- patch
- class matplotlib.transforms.TransformedPath(path, transform)[source]#
Basiert auf:
TransformNodeEin
TransformedPathspeichert eine nicht-affin transformierte Kopie desPathzwischen. Diese zwischengespeicherte Kopie wird automatisch aktualisiert, wenn sich der nicht-affine Teil der Transformation ändert.Hinweis
Pfade werden von dieser Klasse als unveränderlich betrachtet. Jede Änderung der Scheitelpunkte/Codes des Pfades löst keine Neuberechnung der Transformation aus.
- get_fully_transformed_path()[source]#
Gibt eine vollständig transformierte Kopie des Kindpfades zurück.
- get_transformed_path_and_affine()[Quelle]#
Gibt eine Kopie des Kindpfads zurück, wobei der nicht-affine Teil der Transformation bereits angewendet wurde, zusammen mit dem affinen Teil des Pfads, der zur Vervollständigung der Transformation erforderlich ist.
- get_transformed_points_and_affine()[Quelle]#
Gibt eine Kopie des Kindpfads zurück, wobei der nicht-affine Teil der Transformation bereits angewendet wurde, zusammen mit dem affinen Teil des Pfads, der zur Vervollständigung der Transformation erforderlich ist. Im Gegensatz zu
get_transformed_path_and_affine()wird keine Interpolation durchgeführt.
- matplotlib.transforms.blended_transform_factory(x_transform, y_transform)[Quelle]#
Erstellt eine neue "gemischte" Transformation, die x_transform zur Transformation der x-Achse und y_transform zur Transformation der y-Achse verwendet.
Eine schnellere Version der gemischten Transformation wird für den Fall zurückgegeben, dass beide Kindtransformationen affin sind.
- matplotlib.transforms.composite_transform_factory(a, b)[Quelle]#
Erstellt eine neue zusammengesetzte Transformation, die das Ergebnis der Anwendung der Transformation a und dann der Transformation b ist.
Es werden Kurzversionen der gemischten Transformation für den Fall bereitgestellt, dass beide Kindtransformationen affin sind oder eine davon die Identitätstransformation ist.
Zusammengesetzte Transformationen können auch über den Operator '+' erstellt werden, z.B.
c = a + b
- matplotlib.transforms.interval_contains(interval, val)[Quelle]#
Prüft, ob ein Intervall einen gegebenen Wert einschliesslich der Endpunkte enthält.
- Parameter:
- interval(float, float)
Die Endpunkte des Intervalls.
- valfloat
Wert, der geprüft werden soll, ob er innerhalb des Intervalls liegt.
- Gibt zurück:
- bool
Ob val innerhalb des intervalls liegt.
- matplotlib.transforms.interval_contains_open(interval, val)[Quelle]#
Prüft, ob ein Intervall einen gegebenen Wert ausschliesslich der Endpunkte enthält.
- Parameter:
- interval(float, float)
Die Endpunkte des Intervalls.
- valfloat
Wert, der geprüft werden soll, ob er innerhalb des Intervalls liegt.
- Gibt zurück:
- bool
Ob val innerhalb des intervalls liegt.
- matplotlib.transforms.nonsingular(vmin, vmax, expander=0.001, tiny=1e-15, increasing=True)[Quelle]#
Modifiziert die Endpunkte eines Bereichs nach Bedarf, um Singularitäten zu vermeiden.
- Parameter:
- vmin, vmaxfloat
Die ursprünglichen Endpunkte.
- expanderfloat, Standard: 0.001
Bruchteiliger Betrag, um den vmin und vmax erweitert werden, wenn das ursprüngliche Intervall zu klein ist, basierend auf tiny.
- tinyfloat, Standard: 1e-15
Schwellenwert für das Verhältnis des Intervalls zum maximalen Absolutwert seiner Endpunkte. Wenn das Intervall kleiner als dieser Wert ist, wird es erweitert. Dieser Wert sollte etwa 1e-15 oder grösser sein; andernfalls nähert sich das Intervall der doppelten Präzisionsauflösungsgrenze.
- increasingbool, Standard: True
Wenn True, werden vmin und vmax vertauscht, wenn vmin > vmax.
- Gibt zurück:
- vmin, vmaxfloat
Endpunkte, erweitert und/oder vertauscht, falls erforderlich. Wenn ein Eingabewert inf oder NaN ist oder wenn beide Eingabewerte 0 oder sehr nahe bei Null sind, werden -expander, expander zurückgegeben.