matplotlib.backends.backend_pdf#

Ein PDF Matplotlib Backend.

Autor: Jouni K Seppänen <jks@iki.fi> und andere.

matplotlib.backends.backend_pdf.FigureCanvas[Quelle]#

Alias von FigureCanvasPdf

class matplotlib.backends.backend_pdf.FigureCanvasPdf(figure=None)[Quelle]#

Bases: FigureCanvasBase

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.

filetypes = {'pdf': 'Portable Document Format'}#
fixed_dpi = 72#
get_default_filetype()[Quelle]#

Gibt das Standardformat für die Speicherabbildung zurück, wie in rcParams["savefig.format"] (Standard: 'png') angegeben.

Der zurückgegebene String enthält keinen Punkt. Diese Methode wird in Backends überschrieben, die nur einen Dateityp unterstützen.

print_pdf(filename, *, bbox_inches_restore=None, metadata=None)[Quelle]#
class matplotlib.backends.backend_pdf.GraphicsContextPdf(file)[Quelle]#

Bases: GraphicsContextBase

alpha_cmd(alpha, forced, effective_alphas)[Quelle]#
capstyle_cmd(style)[Quelle]#
capstyles = {'butt': 0, 'projecting': 2, 'round': 1}#
clip_cmd(cliprect, clippath)[Quelle]#

Clip-Rechteck setzen. Ruft pop() und push() auf.

commands = ((('_cliprect', '_clippath'), <function GraphicsContextPdf.clip_cmd>), (('_alpha', '_forced_alpha', '_effective_alphas'), <function GraphicsContextPdf.alpha_cmd>), (('_capstyle',), <function GraphicsContextPdf.capstyle_cmd>), (('_fillcolor',), <function GraphicsContextPdf.fillcolor_cmd>), (('_joinstyle',), <function GraphicsContextPdf.joinstyle_cmd>), (('_linewidth',), <function GraphicsContextPdf.linewidth_cmd>), (('_dashes',), <function GraphicsContextPdf.dash_cmd>), (('_rgb',), <function GraphicsContextPdf.rgb_cmd>), (('_hatch', '_hatch_color', '_hatch_linewidth'), <function GraphicsContextPdf.hatch_cmd>))#
copy_properties(other)[Quelle]#

Kopiert Eigenschaften von `other` nach `self`.

dash_cmd(dashes)[Quelle]#
delta(other)[Quelle]#

Kopiert Eigenschaften von `other` nach `self` und gibt die PDF-Befehle zurück, die benötigt werden, um `self` in `other` zu transformieren.

fill(*args)[Quelle]#

Prädikat: Muss der Pfad gefüllt werden?

Ein optionales Argument kann verwendet werden, um eine alternative _fillcolor anzugeben, wie sie von RendererPdf.draw_markers benötigt wird.

fillcolor_cmd(rgb)[Quelle]#
finalize()[Quelle]#

Stellen Sie sicher, dass jeder gespeicherte Grafikzustand wiederhergestellt wird.

hatch_cmd(hatch, hatch_color, hatch_linewidth)[Quelle]#
joinstyle_cmd(style)[Quelle]#
joinstyles = {'bevel': 2, 'miter': 0, 'round': 1}#
linewidth_cmd(width)[Quelle]#
paint()[Quelle]#

Gibt den entsprechenden PDF-Operator zurück, um den Pfad zu streichen, zu füllen oder beides.

pop()[Quelle]#
push()[Quelle]#
rgb_cmd(rgb)[Quelle]#
stroke()[Quelle]#

Prädikat: Muss der Pfad gestrichen werden (seine Umrandung gezeichnet)? Dies testet verschiedene Bedingungen, die das Strichen des Pfades deaktivieren, in welchem Fall er wahrscheinlich gefüllt würde.

class matplotlib.backends.backend_pdf.Name(name)[Quelle]#

Bases: object

PDF-Namens-Objekt.

name#
pdfRepr()[Quelle]#
class matplotlib.backends.backend_pdf.Op(*values)[Quelle]#

Basiert auf Enum

PDF-Operatoren (keine erschöpfende Liste).

begin_text = b'BT'[Quelle]#
clip = b'W'[Quelle]#
close_fill_stroke = b'b'[Quelle]#
close_stroke = b's'[Quelle]#
closepath = b'h'[Quelle]#
concat_matrix = b'cm'[Quelle]#
curveto = b'c'[Quelle]#
end_text = b'ET'[Quelle]#
endpath = b'n'[Quelle]#
fill = b'f'[Quelle]#
fill_stroke = b'B'[Quelle]#
grestore = b'Q'[Quelle]#
gsave = b'q'[Quelle]#
lineto = b'l'[Quelle]#
moveto = b'm'[Quelle]#
classmethod paint_path(fill, stroke)[Quelle]#

Gibt den PDF-Operator zurück, um einen Pfad zu zeichnen.

Parameter:
fillbool

Füllt den Pfad mit der Füllfarbe.

strokebool

Zeichnet die Umrandung des Pfades mit der Linienfarbe.

pdfRepr()[Quelle]#
rectangle = b're'[Quelle]#
selectfont = b'Tf'[Quelle]#
setcolor_nonstroke = b'scn'[Quelle]#
setcolor_stroke = b'SCN'[Quelle]#
setcolorspace_nonstroke = b'cs'[Quelle]#
setcolorspace_stroke = b'CS'[Quelle]#
setdash = b'd'[Quelle]#
setgray_nonstroke = b'g'[Quelle]#
setgray_stroke = b'G'[Quelle]#
setgstate = b'gs'[Quelle]#
setlinecap = b'J'[Quelle]#
setlinejoin = b'j'[Quelle]#
setlinewidth = b'w'[Quelle]#
setrgb_nonstroke = b'rg'[Quelle]#
setrgb_stroke = b'RG'[Quelle]#
shading = b'sh'[Quelle]#
show = b'Tj'[Quelle]#
showkern = b'TJ'[Quelle]#
stroke = b'S'[Quelle]#
textmatrix = b'Tm'[Quelle]#
textpos = b'Td'[Quelle]#
use_xobject = b'Do'[Quelle]#
class matplotlib.backends.backend_pdf.PdfFile(filename, metadata=None)[Quelle]#

Bases: object

PDF-Datei-Objekt.

Parameter:
filenamestr oder Pfad-ähnlich oder datei-ähnlich

Ausgabeziel; wenn eine Zeichenkette, wird eine Datei zum Schreiben geöffnet.

metadatadict von Zeichenketten zu Zeichenketten und Daten

Informations-Dictionary-Objekt (siehe PDF-Referenz Abschnitt 10.2.1 'Document Information Dictionary'), z.B.: {'Creator': 'Meine Software', 'Author': 'Ich', 'Title': 'Großartig'}.

Die Standard-Schlüssel sind 'Title', 'Author', 'Subject', 'Keywords', 'Creator', 'Producer', 'CreationDate', 'ModDate' und 'Trapped'. Werte wurden für 'Creator', 'Producer' und 'CreationDate' vordefiniert. Sie können entfernt werden, indem sie auf None gesetzt werden.

addGouraudTriangles(points, colors)[Quelle]#

Fügt eine Gouraud-Dreiecks-Schattierung hinzu.

Parameter:
pointsnp.ndarray

Dreieck-Eckpunkte, Form (n, 3, 2), wobei n = Anzahl der Dreiecke, 3 = Eckpunkte, 2 = x, y.

colorsnp.ndarray

Eckpunktfarben, Form (n, 3, 1) oder (n, 3, 4) wie bei Punkten, aber die letzte Dimension ist entweder (grau,) oder (r, g, b, alpha).

Gibt zurück:
Name, Referenz
alphaState(alpha)[Quelle]#

Gibt den Namen eines ExtGState zurück, der die Alpha-Transparenz auf den gegebenen Wert setzt.

beginStream(id, len, extra=None, png=None)[Quelle]#
close()[source]#

Alle Puffer leeren und alle Ressourcen freigeben.

createType1Descriptor(t1font, fontfile)[source]#
dviFontName(dvifont)[source]#

Gibt einen für Op.selectfont geeigneten Namen für ein DVI-Schriftartobjekt zurück. Registriert die Schriftartinformationen in self.dviFontInfo, falls noch nicht registriert.

embedTTF(filename, characters)[source]#

Bettet die TTF-Schriftart aus der angegebenen Datei in das Dokument ein.

endStream()[source]#
finalize()[source]#

Schreibt die verschiedenen verzögerten Objekte und den PDF-Endteil aus.

fontName(fontprop)[source]#

Wählt eine Schriftart basierend auf fontprop aus und gibt einen für Op.selectfont geeigneten Namen zurück. Wenn fontprop ein String ist, wird er als Schriftartdateiname interpretiert.

hatchPattern(hatch_style)[source]#
property hatchPatterns[source]#

[Veraltet]

Anmerkungen

Veraltet seit Version 3.10

imageObject(image)[source]#

Gibt den Namen eines Bild-XObject zurück, das das gegebene Bild darstellt.

markerObject(path, trans, fill, stroke, lw, joinstyle, capstyle)[source]#

Gibt den Namen eines Marker-XObject zurück, das den gegebenen Pfad darstellt.

newPage(width, height)[source]#
newTextnote(text, positionRect=[-100, -100, 0, 0])[source]#
output(*data)[source]#
outputStream(ref, data, *, extra=None)[source]#
pathCollectionObject(gc, path, trans, padding, filled, stroked)[source]#
static pathOperations(path, transform, clip=None, simplify=None, sketch=None)[source]#
recordXref(id)[source]#
reserveObject(name='')[source]#

Reserviert eine ID für ein indirektes Objekt.

Der Name wird für die Fehlersuche verwendet, falls wir vergessen, das Objekt mit writeObject auszugeben.

write(data)[source]#
writeExtGSTates()[source]#
writeFonts()[source]#
writeGouraudTriangles()[source]#
writeHatches()[source]#
writeImages()[source]#
writeInfoDict()[source]#

Schreibt das Info-Dictionary aus und prüft es auf Korrektheit.

writeMarkers()[source]#
writeObject(object, contents)[source]#
writePath(path, transform, clip=False, sketch=None)[source]#
writePathCollectionTemplates()[source]#
writeTrailer()[source]#

Schreibt den PDF-Trailer aus.

writeXref()[source]#

Schreibt die Xref-Tabelle aus.

class matplotlib.backends.backend_pdf.PdfPages(filename, keep_empty=<deprecated parameter>, metadata=None)[source]#

Bases: object

Eine mehrseitige PDF-Datei.

Anmerkungen

Eigentlich ist PdfPages ein dünner Wrapper um PdfFile, um Verwirrung zu vermeiden, wenn savefig verwendet wird und das Formatargument vergessen wird.

Beispiele

>>> import matplotlib.pyplot as plt
>>> # Initialize:
>>> with PdfPages('foo.pdf') as pdf:
...     # As many times as you like, create a figure fig and save it:
...     fig = plt.figure()
...     pdf.savefig(fig)
...     # When no figure is specified the current figure is saved
...     pdf.savefig()

Erstellt ein neues PdfPages-Objekt.

Parameter:
filenamestr oder Pfad-ähnlich oder datei-ähnlich

Plots, die mit PdfPages.savefig erstellt werden, werden in einer Datei an diesem Ort geschrieben. Die Datei wird geöffnet, wenn zum ersten Mal eine Abbildung gespeichert wird (wobei jede ältere Datei mit demselben Namen überschrieben wird).

metadatadict, optional

Informations-Dictionary-Objekt (siehe PDF-Referenz Abschnitt 10.2.1 'Document Information Dictionary'), z.B.: {'Creator': 'Meine Software', 'Author': 'Ich', 'Title': 'Großartig'}.

Die Standard-Schlüssel sind 'Title', 'Author', 'Subject', 'Keywords', 'Creator', 'Producer', 'CreationDate', 'ModDate' und 'Trapped'. Werte wurden für 'Creator', 'Producer' und 'CreationDate' vordefiniert. Sie können entfernt werden, indem sie auf None gesetzt werden.

attach_note(text, positionRect=[-100, -100, 0, 0])[source]#

Fügt der Seite, die als nächstes gespeichert wird, eine neue Textnotiz hinzu. Der optionale positionRect gibt die Position der neuen Notiz auf der Seite an. Er befindet sich standardmäßig außerhalb der Seite, um sicherzustellen, dass er auf Ausdrucken unsichtbar ist.

close()[source]#

Finalisiert dieses Objekt und macht die zugrunde liegende Datei zu einer vollständigen PDF-Datei.

get_pagecount()[source]#

Gibt die aktuelle Anzahl der Seiten in der mehrseitigen PDF-Datei zurück.

infodict()[source]#

Gibt ein modifizierbares Informations-Dictionary-Objekt zurück (siehe PDF-Referenzabschnitt 10.2.1 'Document Information Dictionary').

savefig(figure=None, **kwargs)[source]#

Speichert eine Figure in dieser Datei als neue Seite.

Alle anderen Schlüsselwortargumente werden an savefig übergeben.

Parameter:
figureFigure oder int, Standard: die aktive Abbildung

Die Abbildung oder der Index der Abbildung, die in der Datei gespeichert wird.

class matplotlib.backends.backend_pdf.Reference(id)[source]#

Bases: object

PDF-Referenzobjekt.

Verwenden Sie PdfFile.reserveObject(), um Referenzen zu erstellen.

pdfRepr()[source]#
write(contents, file)[source]#
class matplotlib.backends.backend_pdf.RendererPdf(file, image_dpi, height, width)[source]#

Bases: RendererPDFPSBase

check_gc(gc, fillcolor=None)[source]#
draw_gouraud_triangles(gc, points, colors, trans)[source]#

Zeichnet eine Reihe von Gouraud-Dreiecken.

Parameter:
gcGraphicsContextBase

Der Grafikkontext.

triangles_array(N, 3, 2) array-ähnlich

Array von N (x, y) Punkten für die Dreiecke.

colors_array(N, 3, 4) array-ähnlich

Array von N RGBA-Farben für jeden Punkt der Dreiecke.

transformTransform

Eine affine Transformation, die auf die Punkte angewendet werden soll.

draw_image(gc, x, y, im, transform=None)[source]#

Zeichnet ein RGBA-Bild.

Parameter:
gcGraphicsContextBase

Ein Grafikkontext mit Clipping-Informationen.

xfloat

Der Abstand in physikalischen Einheiten (d. h. Punkten oder Pixeln) vom linken Rand der Zeichenfläche.

yfloat

Der Abstand in physikalischen Einheiten (d. h. Punkten oder Pixeln) vom unteren Rand der Zeichenfläche.

im(N, M, 4) Array von numpy.uint8

Ein Array von RGBA-Pixeln.

transformAffine2DBase

Wenn und nur wenn das konkrete Backend so geschrieben ist, dass option_scale_image True zurückgibt, *kann* eine affine Transformation (d.h. eine Affine2DBase) an draw_image übergeben werden. Der Transformationsvektor wird in physikalischen Einheiten (d.h. Punkten oder Pixeln) angegeben. Beachten Sie, dass die Transformation *x* und *y* nicht überschreibt und *vor* dem Übersetzen des Ergebnisses um *x* und *y* angewendet werden muss (dies kann durch Hinzufügen von *x* und *y* zum durch *transform* definierten Translationsvektor erreicht werden).

draw_markers(gc, marker_path, marker_trans, path, trans, rgbFace=None)[source]#

Zeichnet eine Markierung an jeder der path-Scheitelpunkte (außer Kontrollpunkte).

Die Basisimplementierung (Fallback) tätigt mehrere Aufrufe von draw_path. Backends möchten diese Methode möglicherweise überschreiben, um den Marker nur einmal zu zeichnen und ihn mehrmals mit verschiedenen Offsets, Farben, Stilen usw. wiederzuverwenden.

Parameter:
gcGraphicsContextBase

Der Grafikkontext.

marker_pathPath

Der Pfad für die Markierung.

marker_transTransform

Eine affine Transformation, die auf die Markierung angewendet wird.

pathPath

Die Orte, an denen die Markierungen gezeichnet werden sollen.

transTransform

Eine affine Transformation, die auf den Pfad angewendet wird.

rgbFacecolor, optional
draw_mathtext(gc, x, y, s, prop, angle)[source]#
draw_path(gc, path, transform, rgbFace=None)[source]#

Zeichnet eine Path-Instanz mit der gegebenen affinen Transformation.

draw_path_collection(gc, master_transform, paths, all_transforms, offsets, offset_trans, facecolors, edgecolors, linewidths, linestyles, antialiaseds, urls, offset_position)[source]#

Zeichnet eine Sammlung von Pfaden.

Jeder Pfad wird zuerst durch den entsprechenden Eintrag in all_transforms (eine Liste von (3, 3) Matrizen) und dann durch master_transform transformiert. Anschließend werden sie durch den entsprechenden Eintrag in offsets verschoben, die zuvor durch offset_trans transformiert wurden.

facecolors, edgecolors, linewidths, linestyles und antialiased sind Listen, die die entsprechenden Eigenschaften festlegen.

offset_position wird jetzt nicht mehr verwendet, aber das Argument bleibt aus Kompatibilitätsgründen erhalten.

Die Basisimplementierung (Fallback) tätigt mehrere Aufrufe von draw_path. Backends möchten diese Methode überschreiben, um jeden Satz von Pfaddaten nur einmal zu rendern und dann diesen Pfad mehrmals mit den verschiedenen Offsets, Farben, Stilen usw. zu referenzieren. Die Generatorfunktionen _iter_collection_raw_paths und _iter_collection sind vorhanden, um bei der Implementierung über Backends hinweg zu helfen und diese zu standardisieren. Es wird dringend empfohlen, diese Generatoren zu verwenden, damit Änderungen am Verhalten von draw_path_collection global vorgenommen werden können.

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

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)[source]#

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.

encode_string(s, fonttype)[source]#
finalize()[source]#
get_image_magnification()[source]#

Gibt den Faktor zurück, um den Bilder, die an draw_image übergeben werden, vergrößert werden sollen. Ermöglicht einem Backend, Bilder mit einer anderen Auflösung als andere Künstler zu haben.

new_gc()[source]#

Gibt eine Instanz eines GraphicsContextBase zurück.

class matplotlib.backends.backend_pdf.Stream(id, len, file, extra=None, png=None)[source]#

Bases: object

PDF-Stream-Objekt.

Dies hat keine pdfRepr-Methode. Rufen Sie stattdessen begin() auf, geben Sie dann den Inhalt des Streams aus, indem Sie write() aufrufen, und rufen Sie abschließend end() auf.

Parameter:
idint

Objekt-ID des Streams.

lenReference oder None

Ein ungenutztes Referenzobjekt für die Länge des Streams; None bedeutet, einen Speicherpuffer zu verwenden, damit die Länge inline gesetzt werden kann.

filePdfFile

Das zugrunde liegende Objekt, in das der Stream geschrieben werden soll.

extradict von Name zu beliebigem, oder None

Zusätzliche Schlüssel-Wert-Paare, die in den Stream-Header aufgenommen werden sollen.

pngdict oder None

Wenn die Daten bereits PNG-kodiert sind, die Dekodierungsparameter.

compressobj#
end()[Quelle]#

Stream finalisieren.

extra#
file#
id#
len#
pdfFile#
pos#
write(data)[Quelle]#

Schreibt einige Daten in den Stream.

class matplotlib.backends.backend_pdf.Verbatim(x)[Quelle]#

Bases: object

Speichert wörtlichen PDF-Befehlsinhalt für die spätere Aufnahme in den Stream.

pdfRepr()[Quelle]#
matplotlib.backends.backend_pdf.pdfRepr(obj)[Quelle]#

Ordnet Python-Objekte der PDF-Syntax zu.