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 vonFigureCanvasAgg

Klasse matplotlib.backends.backend_agg. FigureCanvasAgg ( figure = None ) [Quelle] #

Basen:FigureCanvasBase

buffer_rgba ( ) [Quelle] #

Holen Sie sich das Bild als memoryviewin den Puffer des Renderers.

drawmuss mindestens einmal aufgerufen werden, bevor diese Funktion funktioniert und um den Renderer für spätere Änderungen an der Figur zu aktualisieren.

copy_from_bbox ( bbox ) [Quelle] #
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.

get_renderer ( cleared=<veralteter Parameter> ) [Quelle] #
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.savebeim 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.savebeim 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_raw ( filename_or_obj , * args ) [Quelle] #
print_rgba ( filename_or_obj , * args ) [Quelle] #
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.savebeim 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.savebeim Speichern der Figur übergeben werden.

print_to_buffer ( ) [Quelle] #
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.savebeim Speichern der Figur übergeben werden.

restore_region ( region , bbox = None , xy = None ) [Quelle] #
tostring_argb ( ) [Quelle] #

Holen Sie sich das Bild als ARGB bytes.

drawmuss mindestens einmal aufgerufen werden, bevor diese Funktion funktioniert und um den Renderer für spätere Änderungen an der Figur zu aktualisieren.

tostring_rgb ( ) [Quelle] #

Holen Sie sich das Bild als RGB bytes.

drawmuss mindestens einmal aufgerufen werden, bevor diese Funktion funktioniert und um den Renderer für spätere Änderungen an der Figur zu aktualisieren.

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

buffer_rgba ( ) [Quelle] #
löschen ( ) [Quelle] #
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 PathInstanz mit der gegebenen affinen Transformation.

draw_tex ( gc , x , y , s , prop , angle , * , mtext = None ) [Quelle] #
draw_text ( gc , x , y , s , prop , angle , ismath = False , mtext = None ) [Quelle] #

Zeichnen Sie eine Textinstanz.

Parameter :
ggGraphicsContextBase

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ützematplotlib.font_manager.FontProperties

Die Schrifteigenschaften.

Winkelschwimmer _

Der Drehwinkel in Grad gegen den Uhrzeigersinn.

Textmatplotlib.text.Text

Das ursprüngliche Textobjekt, das gerendert werden soll.

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_imageunterstü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).

tostring_argb ( ) [Quelle] #
tostring_rgb ( ) [Quelle] #
matplotlib.backends.backend_agg. get_hinting_flag ( ) [Quelle] #