matplotlib.projections#
Nicht separierbare Transformationen, die vom Datenraum in den Bildschirmraum abbilden.
Projektionen sind als Axes-Unterklassen definiert. Sie umfassen die folgenden Elemente
Eine Transformation von Datenkoordinaten in Anzeige-Koordinaten.
Eine Umkehrung dieser Transformation. Dies wird beispielsweise verwendet, um Mauspositionen vom Bildschirmraum zurück in den Datenraum zu konvertieren.
Transformationen für die Gitterlinien, Ticks und Tick-Labels. Benutzerdefinierte Projektionen müssen diese Elemente oft an besonderen Orten platzieren, und Matplotlib bietet eine Einrichtung, um dies zu unterstützen.
Festlegen von Standardwerten (Überschreiben von
cla), da die Standardwerte für rechteckige Achsen möglicherweise nicht geeignet sind.Definieren der Form der Achsen, z. B. einer elliptischen Achse, die zum Zeichnen des Hintergrunds des Plots und zum Beschneiden von Datenelementen verwendet wird.
Definieren benutzerdefinierter Locators und Formatierer für die Projektion. In einer geografischen Projektion kann es beispielsweise bequemer sein, das Gitter in Grad anzuzeigen, auch wenn die Daten in Radiant vorliegen.
Einrichten von interaktivem Schwenken und Zoomen. Dies ist als "erweitertes" Feature dem Leser überlassen, aber es gibt ein Beispiel dafür für Polarkoordinaten in
matplotlib.projections.polar.Zusätzliche Methoden für zusätzlichen Komfort oder Funktionen.
Sobald die Projektionsachsen definiert sind, können sie auf zwei Arten verwendet werden:
Durch Definieren des Klassenattributs
namekann die Projektionsachse mitmatplotlib.projections.register_projectionregistriert und anschließend einfach anhand des Namens aufgerufen werden.fig.add_subplot(projection="my_proj_name")
Für komplexere, parametrisierbare Projektionen kann ein generisches "Projektion"-Objekt definiert werden, das die Methode
_as_mpl_axesenthält._as_mpl_axessollte keine Argumente entgegennehmen und die Projektions-Achsen-Unterklasse sowie ein Wörterbuch mit zusätzlichen Argumenten zurückgeben, die an die__init__-Methode der Unterklasse übergeben werden sollen. Anschließend kann eine parametrisierte Projektion initialisiert werden mitfig.add_subplot(projection=MyProjection(param1=param1_value))
wobei MyProjection ein Objekt ist, das eine Methode
_as_mpl_axesimplementiert.
Ein vollwertiges und ausführlich kommentiertes Beispiel finden Sie unter Benutzerdefinierte Projektion. Die Polarkoordinatenfunktionalität in matplotlib.projections.polar kann ebenfalls von Interesse sein.
- class matplotlib.projections.ProjectionRegistry[Quellcode]#
Bases:
objectEine Zuordnung von registrierten Projektionsnamen zu Projektionsklassen.
- get_projection_class(name)[Quellcode]#
Holen Sie sich eine Projektionsklasse anhand ihres Namens.
- get_projection_names()[Quellcode]#
Gibt die Namen aller derzeit registrierten Projektionen zurück.
- register(*projections)[Quellcode]#
Registriert einen neuen Satz von Projektionen.
- matplotlib.projections.get_projection_class(projection=None)[Quellcode]#
Holen Sie sich eine Projektionsklasse anhand ihres Namens.
Wenn projection None ist, wird eine Standard-Rechteckprojektion zurückgegeben.
- matplotlib.projections.get_projection_names()[Quellcode]#
Gibt die Namen aller derzeit registrierten Projektionen zurück.
- matplotlib.projections.register_projection(cls)[Quellcode]#
Eingebaute Projektionen#
Matplotlib verfügt über eine integrierte Unterstützung für Polarkoordinaten und einige geografische Projektionen. Weitere Informationen finden Sie auf den folgenden Seiten