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 name kann die Projektionsachse mit matplotlib.projections.register_projection registriert 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_axes enthält. _as_mpl_axes sollte 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 mit

    fig.add_subplot(projection=MyProjection(param1=param1_value))
    

    wobei MyProjection ein Objekt ist, das eine Methode _as_mpl_axes implementiert.

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: object

Eine 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