backend_agg
#
Ein Anti-Grain Geometry (AGG) Backend.
Funktionen, die implementiert sind:
Capstyles und Join-Stile
Striche
Linienbreite
Linien, Rechtecke, Ellipsen
zu einem Rechteck beschneiden
Ausgabe in RGBA- und Pillow-unterstützte Bildformate
Alpha-Mischung
DPI-Skalierung richtig - alles wird richtig skaliert (Striche, Linienbreiten usw.)
Polygon zeichnen
freetype2 mit ft2font
Noch zu tun:
Bildschirm dpi mit ppi und Text integrieren
- matplotlib.backends.backend_agg. FigureCanvas [Quelle] #
Pseudonym von
FigureCanvasAgg
- Klasse matplotlib.backends.backend_agg. FigureCanvasAgg ( figure = None ) [Quelle] #
Basen:
FigureCanvasBase
- buffer_rgba ( ) [Quelle] #
Holen Sie sich das Bild als
memoryview
in den Puffer des Renderers.draw
muss mindestens einmal aufgerufen werden, bevor diese Funktion funktioniert und um den Renderer für spätere Änderungen an der Figur zu aktualisieren.
- zeichnen ( ) [Quelle] #
Rendern Sie die
Figure
.Diese Methode muss den Künstlerbaum durchlaufen, auch wenn keine Ausgabe erzeugt wird, da sie verzögerte Arbeit auslöst, auf die Benutzer möglicherweise zugreifen möchten, bevor sie die Ausgabe auf der Festplatte speichern. Zum Beispiel das Berechnen von Limits, Auto-Limits und Tick-Werten.
- print_jpeg ( filename_or_obj , * args , pil_kwargs = None ) [Quelle] #
Schreiben Sie die Figur in eine JPEG-Datei.
- Parameter :
- filename_or_obj str oder pfadartig oder dateiartig
Die Datei, in die geschrieben werden soll.
- pil_kwargs Diktat , optional
Zusätzliche Schlüsselwortargumente, die
PIL.Image.Image.save
beim Speichern der Figur übergeben werden.
- print_jpg ( filename_or_obj , * args , pil_kwargs = None ) [Quelle] #
Schreiben Sie die Figur in eine JPEG-Datei.
- Parameter :
- filename_or_obj str oder pfadartig oder dateiartig
Die Datei, in die geschrieben werden soll.
- pil_kwargs Diktat , optional
Zusätzliche Schlüsselwortargumente, die
PIL.Image.Image.save
beim Speichern der Figur übergeben werden.
- print_png ( filename_or_obj , * args , metadata = None , pil_kwargs = None ) [Quelle] #
Schreiben Sie die Figur in eine PNG-Datei.
- Parameter :
- filename_or_obj str oder pfadartig oder dateiartig
Die Datei, in die geschrieben werden soll.
- Metadatenverzeichnis , optional
Metadaten in der PNG-Datei als Schlüssel-Wert-Paare von Bytes oder Latin-1-kodierbaren Zeichenfolgen. Laut PNG-Spezifikation müssen Schlüssel kürzer als 79 Zeichen sein.
Die PNG-Spezifikation definiert einige allgemeine Schlüsselwörter, die gegebenenfalls verwendet werden können:
Titel: Kurzer (einzeiliger) Titel oder Bildunterschrift.
Autor: Name des Erstellers des Bildes.
Beschreibung: Beschreibung des Bildes (evtl. lang).
Urheberrecht: Urheberrechtshinweis.
Erstellungszeit: Zeitpunkt der ursprünglichen Image-Erstellung (normalerweise RFC 1123-Format).
Software: Software, die zum Erstellen des Bildes verwendet wird.
Haftungsausschluss: Haftungsausschluss.
Warnung: Warnung vor der Art des Inhalts.
Quelle: Gerät, mit dem das Bild erstellt wurde.
Kommentar: Sonstiger Kommentar; Konvertierung von anderen Bildformaten.
Andere Schlüsselwörter können für andere Zwecke erfunden werden.
Wenn 'Software' nicht angegeben ist, wird ein automatisch generierter Wert für Matplotlib verwendet. Dies kann entfernt werden, indem Sie es auf None setzen .
Weitere Einzelheiten finden Sie in der PNG-Spezifikation .
- pil_kwargs Diktat , optional
An übergebene Schlüsselwortargumente
PIL.Image.Image.save
.Wenn der Schlüssel „pnginfo“ vorhanden ist, überschreibt er die Metadaten vollständig , einschließlich des standardmäßigen Schlüssels „Software“.
- print_tif ( filename_or_obj , * , pil_kwargs = None ) [Quelle] #
Schreiben Sie die Abbildung in eine TIFF-Datei.
- Parameter :
- filename_or_obj str oder pfadartig oder dateiartig
Die Datei, in die geschrieben werden soll.
- pil_kwargs Diktat , optional
Zusätzliche Schlüsselwortargumente, die
PIL.Image.Image.save
beim Speichern der Figur übergeben werden.
- print_tiff ( filename_or_obj , * , pil_kwargs = None ) [Quelle] #
Schreiben Sie die Abbildung in eine TIFF-Datei.
- Parameter :
- filename_or_obj str oder pfadartig oder dateiartig
Die Datei, in die geschrieben werden soll.
- pil_kwargs Diktat , optional
Zusätzliche Schlüsselwortargumente, die
PIL.Image.Image.save
beim Speichern der Figur übergeben werden.
- print_webp ( filename_or_obj , * , pil_kwargs = None ) [Quelle] #
Schreiben Sie die Abbildung in eine WebP-Datei.
- Parameter :
- filename_or_obj str oder pfadartig oder dateiartig
Die Datei, in die geschrieben werden soll.
- pil_kwargs Diktat , optional
Zusätzliche Schlüsselwortargumente, die
PIL.Image.Image.save
beim Speichern der Figur übergeben werden.
- Klasse matplotlib.backends.backend_agg. RendererAgg ( Breite , Höhe , dpi ) [Quelle] #
Basen:
RendererBase
Der Renderer handhabt alle Zeichnungsgrundelemente unter Verwendung einer Grafikkontextinstanz, die die Farben/Stile steuert
- draw_mathtext ( gc , x , y , s , prop , angle ) [Quelle] #
Zeichnen Sie mathematischen Text mit
matplotlib.mathtext
.
- draw_path ( gc , path , transform , rgbFace = None ) [Quelle] #
Zeichne eine
Path
Instanz mit der gegebenen affinen Transformation.
- draw_text ( gc , x , y , s , prop , angle , ismath = False , mtext = None ) [Quelle] #
Zeichnen Sie eine Textinstanz.
- Parameter :
- gg
GraphicsContextBase
Der grafische Kontext.
- x schweben
Die x-Position des Textes in Anzeigekoordinaten.
- y schweben
Die y-Position der Textgrundlinie in Anzeigekoordinaten.
- s -str
Die Textzeichenfolge.
- Stütze
matplotlib.font_manager.FontProperties
Die Schrifteigenschaften.
- Winkelschwimmer _
Der Drehwinkel in Grad gegen den Uhrzeigersinn.
- Text
matplotlib.text.Text
Das ursprüngliche Textobjekt, das gerendert werden soll.
- gg
Anmerkungen
Hinweis für Backend-Implementierer:
Wenn Sie versuchen festzustellen, ob Sie Ihren Begrenzungsrahmen richtig gemacht haben (was das Textlayout / die Textausrichtung ermöglicht, richtig zu funktionieren), hilft es, die Zeile in text.py zu ändern:
if 0: bbox_artist(self, renderer)
zu if 1, und dann wird der eigentliche Begrenzungsrahmen zusammen mit Ihrem Text geplottet.
- get_canvas_width_height ( ) [Quelle] #
Gibt die Leinwandbreite und -höhe in Anzeigekoordinaten zurück.
- get_text_width_height_descent ( s , prop , ismath ) [Quelle] #
Holen Sie sich Breite, Höhe und Gefälle (Versatz von unten zur Grundlinie) der Zeichenkette s mit prop in Anzeigekoordinaten .
FontProperties
- lock = <unlocked _thread.RLock Objektbesitzer =0 count=0> #
- option_image_nocomposite ( ) [Quelle] #
Gibt zurück, ob die Bildkomposition durch Matplotlib übersprungen werden soll.
Raster-Backends sollten normalerweise False zurückgeben (wobei der C-Level-Rasterizer sich um die Bildkomposition kümmert); Vektor-Backends sollten normalerweise .
not rcParams["image.composite_image"]
- option_scale_image ( ) [Quelle] #
Gibt zurück, ob beliebige affine Transformationen in
draw_image
unterstützt werden (True für die meisten Vektor-Backends).
- points_to_pixels ( Punkte ) [Quelle] #
Konvertieren Sie Punkte in Anzeigeeinheiten.
Sie müssen diese Funktion überschreiben (es sei denn, Ihr Backend hat keine dpi, z. B. Postscript oder SVG). Einige Bildgebungssysteme gehen von einem bestimmten Wert für Pixel pro Zoll aus:
points to pixels = points * pixels_per_inch/72 * dpi/72
- Parameter :
- Punkte Floating oder Array-artig
ein Float oder ein numpy-Array von Float
- Rückgaben :
- Punkte in Pixel umgewandelt
- restore_region ( region , bbox = None , xy = None ) [Quelle] #
Stellen Sie die gespeicherte Region wieder her. Wenn bbox (Instanz von BboxBase oder ihre Extents) angegeben ist, wird nur die durch die bbox angegebene Region wiederhergestellt. xy (ein Paar Floats) gibt optional die neue Position an (die LLC der ursprünglichen Region, nicht die LLC der Bbox), an der die Region wiederhergestellt wird.
>>> region = renderer.copy_from_bbox() >>> x1, y1, x2, y2 = region.get_extents() >>> renderer.restore_region(region, bbox=(x1+dx, y1, x2, y2), ... xy=(x1-dx, y1))
- start_filter ( ) [Quelle] #
Beginnen Sie mit dem Filtern. Es erstellt einfach eine neue Leinwand (die alte wird gespeichert).
- stop_filter ( post_processing ) [Quelle] #
Speichern Sie den Plot im aktuellen Canvas als Bild und wenden Sie die Funktion post_processing an .
- def post_processing (Bild, dpi):
# ny, nx, tiefen = image.shape # image (numpy-Array) hat RGBA-Kanäle und hat eine Tiefe von 4. ... # create a new_image (numpy-Array von 4 Kanälen, Größe kann # unterschiedlich sein). Das resultierende Bild kann Offsets von # der unteren linken Ecke des Originalbildes aufweisen. return new_image, offset_x, offset_y
Der gespeicherte Renderer wird wiederhergestellt und das zurückgegebene Bild von post_processing wird darauf geplottet (unter Verwendung von draw_image).