matplotlib.backends.backend_agg#

Ein Anti-Grain Geometry (AGG) Backend.

Implementierte Funktionen

  • Kappen- und Verbindungstypen

  • dashes

  • Linienbreite (linewidth)

  • Linien, Rechtecke, Ellipsen

  • Beschneiden auf ein Rechteck

  • Ausgabe in RGBA und Pillow-unterstützte Bildformate

  • Alpha-Blending

  • DPI-Skalierung korrekt - alles skaliert korrekt (Striche, Linienstärken usw.)

  • Polygon zeichnen

  • freetype2 mit ft2font

Noch zu tun

  • Bildschirm-DPI mit PPI und Text integrieren

matplotlib.backends.backend_agg.FigureCanvas[Quelle]#

Alias für FigureCanvasAgg

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

Bases: FigureCanvasBase

buffer_rgba()[Quelle]#

Das Bild als memoryview auf den Puffer des Renderers abrufen.

draw muss 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]#
draw()[Quelle]#

Rendert die Figure.

Diese Methode muss den Künstlerbaum durchlaufen, auch wenn keine Ausgabe erzeugt wird, da sie verzögerte Arbeiten auslöst, auf die Benutzer möglicherweise zugreifen möchten, bevor sie Ausgabe auf die Festplatte speichern. Zum Beispiel die Berechnung von Grenzen, automatischen Grenzen und Tick-Werten.

get_renderer()[Quelle]#
print_jpeg(filename_or_obj, *, metadata=None, pil_kwargs=None)[Quelle]#

Die Figur in eine JPEG-Datei schreiben.

Parameter:
filename_or_objstr oder Pfad-ähnlich oder Dateizeiger

Die Datei, in die geschrieben werden soll.

pil_kwargsdict, optional

Zusätzliche Schlüsselwortargumente, die beim Speichern der Figur an PIL.Image.Image.save übergeben werden.

print_jpg(filename_or_obj, *, metadata=None, pil_kwargs=None)[Quelle]#

Die Figur in eine JPEG-Datei schreiben.

Parameter:
filename_or_objstr oder Pfad-ähnlich oder Dateizeiger

Die Datei, in die geschrieben werden soll.

pil_kwargsdict, optional

Zusätzliche Schlüsselwortargumente, die beim Speichern der Figur an PIL.Image.Image.save übergeben werden.

print_png(filename_or_obj, *, metadata=None, pil_kwargs=None)[Quelle]#

Die Figur in eine PNG-Datei schreiben.

Parameter:
filename_or_objstr oder Pfad-ähnlich oder Dateizeiger

Die Datei, in die geschrieben werden soll.

metadatadict, optional

Metadaten in der PNG-Datei als Schlüssel-Wert-Paare von Bytes oder latin-1 kodierbaren Strings. Gemäß der PNG-Spezifikation müssen Schlüssel kürzer als 79 Zeichen sein.

Die PNG-Spezifikation definiert einige gängige Schlüsselwörter, die entsprechend verwendet werden können

  • Title: Kurzer (einzeiliger) Titel oder Bildunterschrift.

  • Author: Name des Erstellers des Bildes.

  • Description: Beschreibung des Bildes (möglicherweise lang).

  • Copyright: Copyright-Hinweis.

  • Creation Time: Zeitpunkt der ursprünglichen Bilderstellung (normalerweise im RFC 1123-Format).

  • Software: Software, die zur Erstellung des Bildes verwendet wurde.

  • Disclaimer: Rechtlicher Haftungsausschluss.

  • Warning: Warnung bezüglich der Art des Inhalts.

  • Source: Gerät, das zur Erstellung des Bildes verwendet wurde.

  • Comment: Verschiedene Kommentare; Konvertierung aus einem anderen Bildformat.

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 es auf *None* gesetzt wird.

Weitere Details finden Sie in der PNG-Spezifikation.

pil_kwargsdict, optional

Schlüsselwortargumente, die an PIL.Image.Image.save übergeben werden.

Wenn der Schlüssel 'pnginfo' vorhanden ist, überschreibt er *metadata* vollständig, einschließlich des Standard-Schlüssels 'Software'.

print_raw(filename_or_obj, *, metadata=None)[Quelle]#
print_rgba(filename_or_obj, *, metadata=None)[Quelle]#
print_tif(filename_or_obj, *, metadata=None, pil_kwargs=None)[Quelle]#

Die Figur in eine TIFF-Datei schreiben.

Parameter:
filename_or_objstr oder Pfad-ähnlich oder Dateizeiger

Die Datei, in die geschrieben werden soll.

pil_kwargsdict, optional

Zusätzliche Schlüsselwortargumente, die beim Speichern der Figur an PIL.Image.Image.save übergeben werden.

print_tiff(filename_or_obj, *, metadata=None, pil_kwargs=None)[Quelle]#

Die Figur in eine TIFF-Datei schreiben.

Parameter:
filename_or_objstr oder Pfad-ähnlich oder Dateizeiger

Die Datei, in die geschrieben werden soll.

pil_kwargsdict, optional

Zusätzliche Schlüsselwortargumente, die beim Speichern der Figur an PIL.Image.Image.save übergeben werden.

print_to_buffer()[Quelle]#
print_webp(filename_or_obj, *, metadata=None, pil_kwargs=None)[Quelle]#

Die Figur in eine WebP-Datei schreiben.

Parameter:
filename_or_objstr oder Pfad-ähnlich oder Dateizeiger

Die Datei, in die geschrieben werden soll.

pil_kwargsdict, optional

Zusätzliche Schlüsselwortargumente, die beim Speichern der Figur an PIL.Image.Image.save übergeben werden.

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

Das Bild als ARGB bytes abrufen.

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

class matplotlib.backends.backend_agg.RendererAgg(width, height, dpi)[Quelle]#

Bases: RendererBase

Der Renderer behandelt alle Zeichenprimitiven unter Verwendung einer Grafikkontextinstanz, die Farben/Stile steuert.

buffer_rgba()[Quelle]#
clear()[Quelle]#
draw_mathtext(gc, x, y, s, prop, angle)[Quelle]#

Mathtext mit matplotlib.mathtext zeichnen.

draw_path(gc, path, transform, rgbFace=None)[Quelle]#

Zeichnet eine Path-Instanz mit der gegebenen affinen Transformation.

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

Zeichnet eine TeX-Instanz.

Parameter:
gcGraphicsContextBase

Der Grafikkontext.

xfloat

Die x-Koordinate des Textes in Anzeigekoordinaten.

yfloat

Die y-Koordinate der Textbasislinie in Anzeigekoordinaten.

sstr

Der TeX-Textstring.

propFontProperties

Die Schrifteigenschaften.

anglefloat

Der Rotationswinkel in Grad gegen den Uhrzeigersinn.

mtextText

Das ursprüngliche Textobjekt, das gerendert werden soll.

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

Zeichnet eine Textinstanz.

Parameter:
gcGraphicsContextBase

Der Grafikkontext.

xfloat

Die x-Koordinate des Textes in Anzeigekoordinaten.

yfloat

Die y-Koordinate der Textbasislinie in Anzeigekoordinaten.

sstr

Der Textstring.

propFontProperties

Die Schrifteigenschaften.

anglefloat

Der Rotationswinkel in Grad gegen den Uhrzeigersinn.

ismathbool oder "TeX"

Wenn True, verwende den mathtext-Parser.

mtextText

Das ursprüngliche Textobjekt, das gerendert werden soll.

Anmerkungen

Hinweise für Backend-Implementierer

RendererBase.draw_text unterstützt auch die Übergabe von "TeX" an den Parameter *ismath*, um TeX-Rendering zu verwenden, dies ist jedoch für tatsächliche Rendering-Backends nicht erforderlich, und viele integrierte Backends unterstützen dies nicht. Vielmehr wird TeX-Rendering von draw_tex bereitgestellt.

get_canvas_width_height()[Quelle]#

Gibt die Breite und Höhe der Leinwand in Anzeigekoordinaten zurück.

get_text_width_height_descent(s, prop, ismath)[Quelle]#

Gibt die Breite, Höhe und den Abstieg (Offset von unten zur Basislinie) in Anzeigekoordinaten des Strings s mit FontProperties prop zurück.

Leerzeichen am Anfang und Ende von s sind in der gemeldeten Breite enthalten.

option_image_nocomposite()[Quelle]#

Gibt zurück, ob die Bildkomposition durch Matplotlib übersprungen werden soll.

Raster-Backends sollten normalerweise False zurückgeben (damit der C-Level-Rasterer die Bildkomposition übernimmt); Vektor-Backends sollten normalerweise not rcParams["image.composite_image"] zurückgeben.

option_scale_image()[Quelle]#

Gibt zurück, ob beliebige affine Transformationen in draw_image unterstützt werden (True für die meisten Vektorbackends).

points_to_pixels(points)[Quelle]#

Konvertiert Punkte in Anzeigeeinheiten.

Sie müssen diese Funktion überschreiben (es sei denn, Ihr Backend hat keinen DPI-Wert, z. B. PostScript oder SVG). Einige Bildsysteme nehmen einen bestimmten Wert für Pixel pro Zoll an.

points to pixels = points * pixels_per_inch/72 * dpi/72
Parameter:
pointsfloat oder array-ähnlich
Gibt zurück:
Punkte, konvertiert in Pixel
restore_region(region, bbox=None, xy=None)[Quelle]#

Stellt die gespeicherte Region wieder her. Wenn bbox (Instanz von BboxBase oder seine Ausdehnungen) gegeben ist, wird nur die durch die bbox spezifizierte Region wiederhergestellt. *xy* (ein Paar von 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]#

Filterung starten. Es wird einfach eine neue Leinwand erstellt (die alte wird gespeichert).

stop_filter(post_processing)[Quelle]#

Speichert die aktuelle Leinwand als Bild und wendet die Nachbearbeitung an.

Die Funktion *post_processing*

def post_processing(image, dpi):
  # ny, nx, depth = image.shape
  # image (numpy array) has RGBA channels and has a depth of 4.
  ...
  # create a new_image (numpy array of 4 channels, size can be
  # different). The resulting image may have offsets from
  # lower-left corner of the original image
  return new_image, offset_x, offset_y

Der gespeicherte Renderer wird wiederhergestellt und das von post_processing zurückgegebene Bild wird darauf gezeichnet (mit draw_image).

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