matplotlib.backend_bases#

Abstrakte Basisklassen definieren die Primitiven, die Renderer und Grafikkontexte implementieren müssen, um als Matplotlib-Backend zu dienen.

RendererBase

Eine abstrakte Basisklasse zur Handhabung von Zeichen-/Rendering-Operationen.

FigureCanvasBase

Die Abstraktionsschicht, die die Figure von Backend-spezifischen Details wie einer Benutzeroberfläche zum Zeichnen trennt.

GraphicsContextBase

Eine abstrakte Basisklasse, die Farben, Linienstile usw. bereitstellt.

Event

Die Basisklasse für die gesamte Matplotlib-Ereignisbehandlung. Abgeleitete Klassen wie KeyEvent und MouseEvent speichern Metadaten wie gedrückte Tasten und Maustasten, x- und y-Positionen in Pixeln und Axes-Koordinaten.

ShowBase

Die Basisklasse für die Show-Klasse jedes interaktiven Backends; das aufrufbare 'show' wird dann auf Show.__call__ gesetzt.

ToolContainerBase

Die Basisklasse für die Toolbar-Klasse jedes interaktiven Backends.

class matplotlib.backend_bases.CloseEvent(name, canvas, guiEvent=None)[Quelle]#

Bases: Event

Ein Ereignis, das durch das Schließen einer Abbildung ausgelöst wird.

class matplotlib.backend_bases.DrawEvent(name, canvas, renderer)[Quelle]#

Bases: Event

Ein Ereignis, das durch eine Zeichenoperation auf der Leinwand ausgelöst wird.

In den meisten Backends werden an dieses Ereignis gebundene Callbacks ausgelöst, nachdem das Rendering abgeschlossen ist, aber bevor der Bildschirm aktualisiert wird. Zusätzliche Künstler, die auf den Renderer der Leinwand gezeichnet werden, werden reflektiert, ohne dass blit explizit aufgerufen wird.

Warnung

Das Aufrufen von canvas.draw und canvas.blit in diesen Callbacks ist möglicherweise nicht mit allen Backends sicher und kann zu einer unendlichen Rekursion führen.

Ein DrawEvent hat zusätzlich zu den von der übergeordneten Event-Klasse definierten Attributen eine Reihe von speziellen Attributen.

Attribute:
rendererRendererBase

Der Renderer für das Zeichenereignis.

class matplotlib.backend_bases.Event(name, canvas, guiEvent=None)[Quelle]#

Bases: object

Ein Matplotlib-Ereignis.

Die folgenden Attribute sind definiert und mit ihren Standardwerten aufgeführt. Unterklassen können zusätzliche Attribute definieren.

Attribute:
namestr

Der Name des Ereignisses.

canvasFigureCanvasBase

Die Backend-spezifische Canvas-Instanz, die das Ereignis auslöst.

guiEvent

Das GUI-Ereignis, das das Matplotlib-Ereignis ausgelöst hat.

class matplotlib.backend_bases.FigureCanvasBase(figure=None)[Quelle]#

Bases: object

Die Leinwand, in die die Abbildung gerendert wird.

Attribute:
figureFigure

Eine High-Level-Abbildung-Instanz.

blit(bbox=None)[Quelle]#

Die Leinwand im Bounding Box (standardmäßig die gesamte Leinwand) aktualisieren.

property button_pick_id#
property callbacks#
property device_pixel_ratio#

Das Verhältnis von physischen zu logischen Pixeln, das für die Leinwand auf dem Bildschirm verwendet wird.

Standardmäßig ist dies 1, was bedeutet, dass physische und logische Pixel die gleiche Größe haben. Unterklassen, die hochauflösende Bildschirme unterstützen, können diese Eigenschaft festlegen, um anzuzeigen, dass dieses Verhältnis unterschiedlich ist. Die gesamte Matplotlib-Interaktion, sofern nicht direkt mit der Leinwand gearbeitet wird, bleibt in logischen Pixeln.

draw(*args, **kwargs)[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.

draw_idle(*args, **kwargs)[Quelle]#

Fordert ein Neuzeichnen des Widgets an, sobald die Kontrolle an die GUI-Ereignisschleife zurückgegeben wird.

Selbst wenn mehrere Aufrufe von draw_idle erfolgen, bevor die Kontrolle an die GUI-Ereignisschleife zurückgegeben wird, wird die Abbildung nur einmal gerendert.

Anmerkungen

Backends können die Methode überschreiben und ihre eigene Strategie implementieren, um mehrere Renderings zu verhindern.

events = ['resize_event', 'draw_event', 'key_press_event', 'key_release_event', 'button_press_event', 'button_release_event', 'scroll_event', 'motion_notify_event', 'pick_event', 'figure_enter_event', 'figure_leave_event', 'axes_enter_event', 'axes_leave_event', 'close_event']#
filetypes = {'eps': 'Encapsulated Postscript', 'jpeg': 'Joint Photographic Experts Group', 'jpg': 'Joint Photographic Experts Group', 'pdf': 'Portable Document Format', 'pgf': 'PGF code for LaTeX', 'png': 'Portable Network Graphics', 'ps': 'Postscript', 'raw': 'Raw RGBA bitmap', 'rgba': 'Raw RGBA bitmap', 'svg': 'Scalable Vector Graphics', 'svgz': 'Scalable Vector Graphics', 'tif': 'Tagged Image File Format', 'tiff': 'Tagged Image File Format', 'webp': 'WebP Image Format'}#
fixed_dpi = None#
flush_events()[Quelle]#

Die GUI-Ereignisse für die Abbildung leeren.

Interaktive Backends müssen diese Methode neu implementieren.

get_default_filename()[Quelle]#

Gibt einen geeigneten Standarddateinamen einschließlich der Erweiterung zurück.

classmethod 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.

classmethod get_supported_filetypes()[Quelle]#

Gibt ein Dictionary der von diesem Backend unterstützten Speicherabbildungsdateiformate zurück.

classmethod get_supported_filetypes_grouped()[Quelle]#

Gibt ein Dictionary der von diesem Backend unterstützten Speicherabbildungsdateiformate zurück, wobei die Schlüssel ein Dateitypname sind, z. B. 'Joint Photographic Experts Group', und die Werte eine Liste von Dateinamenerweiterungen sind, die für diesen Dateityp verwendet werden, z. B. ['jpg', 'jpeg'].

get_width_height(*, physical=False)[Quelle]#

Gibt die Breite und Höhe der Abbildung in integralen Punkten oder Pixeln zurück.

Wenn die Abbildung auf hochauflösenden Bildschirmen verwendet wird (und das Backend dies unterstützt), erfolgt die Kürzung auf ganze Zahlen nach der Skalierung mit dem Gerätepixelverhältnis.

Parameter:
physicalbool, default: False

Ob tatsächliche physische Pixel oder logische Pixel zurückgegeben werden sollen. Physische Pixel können von Backends verwendet werden, die HiDPI unterstützen, aber die Leinwand dennoch anhand ihrer tatsächlichen Größe konfigurieren.

Gibt zurück:
width, heightint

Die Größe der Abbildung, je nach Backend in Punkten oder Pixeln.

grab_mouse(ax)[Quelle]#

Setzt die untergeordnete Axes, die die Mausereignisse erfasst.

Wird normalerweise von den Widgets selbst aufgerufen. Es ist ein Fehler, dies aufzurufen, wenn die Maus bereits von einer anderen Achse erfasst wird.

inaxes(xy)[Quelle]#

Gibt die oberste sichtbare Axes zurück, die den Punkt xy enthält.

Parameter:
xy(float, float)

(x, y) Pixelpositionen von links/unten der Leinwand.

Gibt zurück:
Axes oder None

Die oberste sichtbare Achse, die den Punkt enthält, oder None, wenn sich keine Achse an diesem Punkt befindet.

is_saving()[Quelle]#

Gibt zurück, ob der Renderer gerade eine Datei speichert oder für einen On-Screen-Puffer rendert.

manager_class[Quelle]#

Alias von FigureManagerBase

mpl_connect(s, func)[Quelle]#

Binde die Funktion func an das Ereignis s.

Parameter:
sstr

Eine der folgenden Ereignis-IDs

  • 'button_press_event'

  • 'button_release_event'

  • 'draw_event'

  • 'key_press_event'

  • 'key_release_event'

  • 'motion_notify_event'

  • 'pick_event'

  • 'resize_event'

  • 'scroll_event'

  • 'figure_enter_event',

  • 'figure_leave_event',

  • 'axes_enter_event',

  • 'axes_leave_event'

  • 'close_event'.

funcaufrufbar

Die auszuführende Callback-Funktion, die die folgende Signatur haben muss

def func(event: Event) -> Any

Für die Positionsereignisse (Button- und Tastendruck/-loslassen) wird, wenn sich die Maus über der Achse befindet, das Attribut inaxes des Ereignisses auf die Achse gesetzt, über der das Ereignis auftritt, und zusätzlich werden die Variablen xdata und ydata auf die Mausposition in Koordinaten der Daten gesetzt. Weitere Informationen finden Sie unter KeyEvent und MouseEvent.

Hinweis

Wenn func eine Methode ist, wird nur eine schwache Referenz auf die Methode gespeichert. Daher beeinflusst die Abbildung nicht die Lebensdauer des zugehörigen Objekts. Normalerweise möchten Sie sicherstellen, dass das Objekt während der Lebensdauer der Abbildung erhalten bleibt, indem Sie eine Referenz darauf halten.

Gibt zurück:
cid

Eine Verbindungs-ID, die mit FigureCanvasBase.mpl_disconnect verwendet werden kann.

Beispiele

def on_press(event):
    print('you pressed', event.button, event.xdata, event.ydata)

cid = canvas.mpl_connect('button_press_event', on_press)
mpl_disconnect(cid)[Quelle]#

Trennt den Callback mit der ID cid.

Beispiele

cid = canvas.mpl_connect('button_press_event', on_press)
# ... later
canvas.mpl_disconnect(cid)
classmethod new_manager(figure, num)[Quelle]#

Erstellt einen neuen Abbildungsmanager für figure unter Verwendung dieser Canvas-Klasse.

Anmerkungen

Diese Methode sollte in Unterklassen nicht neu implementiert werden. Wenn eine benutzerdefinierte Logik zur Erstellung von Managern benötigt wird, implementieren Sie bitte FigureManager.create_with_canvas neu.

new_timer(interval=None, callbacks=None)[Quelle]#

Erstellt eine neue Backend-spezifische Unterklasse von Timer.

Dies ist nützlich, um periodische Ereignisse über die native Ereignisschleife des Backends zu erhalten. Nur für Backends mit GUIs implementiert.

Parameter:
intervalint

Timer-Intervall in Millisekunden.

callbackslist[tuple[callable, tuple, dict]]

Sequenz von (func, args, kwargs), wobei func(*args, **kwargs) vom Timer alle interval ausgeführt wird.

Callbacks, die False oder 0 zurückgeben, werden vom Timer entfernt.

Beispiele

>>> timer = fig.canvas.new_timer(callbacks=[(f1, (1,), {'a': 3})])
print_figure(filename, dpi=None, facecolor=None, edgecolor=None, orientation='portrait', format=None, *, bbox_inches=None, pad_inches=None, bbox_extra_artists=None, backend=None, **kwargs)[Quelle]#

Rendert die Abbildung in eine Hardcopy. Setzt die Vorder- und Randfarben des Abbildungsfeldes. Dies ist nützlich, da einige GUIs einen grauen Abbildungsflächenhintergrund haben und Sie diesen bei Hardcopy wahrscheinlich überschreiben möchten.

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

Die Datei, in der die Abbildung gespeichert wird.

dpifloat, default: rcParams["savefig.dpi"] (default: 'figure')

Die Dots per Inch, mit denen die Abbildung gespeichert werden soll.

facecolorcolor oder 'auto', default: rcParams["savefig.facecolor"] (default: 'auto')

Die Vordergrundfarbe der Abbildung. Wenn 'auto', wird die aktuelle Vordergrundfarbe der Abbildung verwendet.

edgecolorcolor oder 'auto', default: rcParams["savefig.edgecolor"] (default: 'auto')

Die Randfarbe der Abbildung. Wenn 'auto', wird die aktuelle Randfarbe der Abbildung verwendet.

orientation{'landscape', 'portrait'}, default: 'portrait'

Gilt derzeit nur für PostScript-Druck.

formatstr, optional

Erzwingt ein bestimmtes Dateiformat. Wenn nicht angegeben, wird das Format aus der Dateinamenerweiterung abgeleitet und, falls dies fehlschlägt, aus rcParams["savefig.format"] (Standard: 'png').

bbox_inches'tight' oder Bbox, default: rcParams["savefig.bbox"] (default: None)

Bounding Box in Zoll: nur der angegebene Teil der Abbildung wird gespeichert. Wenn 'tight', versuchen Sie, die enge Bounding Box der Abbildung zu ermitteln.

pad_inchesfloat oder 'layout', default: rcParams["savefig.pad_inches"] (default: 0.1)

Menge des Abstands in Zoll um die Abbildung herum, wenn bbox_inches 'tight' ist. Wenn 'layout', verwenden Sie den Abstand aus der constrained- oder compressed-Layout-Engine; ignoriert, wenn eine dieser Engines nicht verwendet wird.

bbox_extra_artistsListe von Artist, optional

Eine Liste zusätzlicher Künstler, die bei der Berechnung der engen Bounding Box berücksichtigt werden.

backendstr, optional

Verwenden Sie ein Nicht-Standard-Backend, um die Datei zu rendern, z. B. eine PNG-Datei mit dem Backend "cairo" anstelle des Standard-Backends "agg" oder eine PDF-Datei mit dem Backend "pgf" anstelle des Standard-Backends "pdf". Beachten Sie, dass das Standard-Backend normalerweise ausreicht. Siehe Die integrierten Backends für eine Liste gültiger Backends für jedes Dateiformat. Benutzerdefinierte Backends können als "module://..." referenziert werden.

release_mouse(ax)[Quelle]#

Gibt die von der Axes ax gehaltene Mauserfassung frei.

Wird normalerweise von den Widgets aufgerufen. Es ist in Ordnung, dies aufzurufen, auch wenn ax die Mauserfassung derzeit nicht hält.

required_interactive_framework = None#
property scroll_pick_id#
set_cursor(cursor)[Quelle]#

Setzt den aktuellen Cursor.

Dies hat möglicherweise keine Auswirkung, wenn das Backend nichts anzeigt.

Wenn vom Backend erforderlich, sollte diese Methode eine Aktualisierung der Backend-Ereignisschleife auslösen, nachdem der Cursor gesetzt wurde, da diese Methode z. B. vor einer langlaufenden Aufgabe aufgerufen werden kann, während der die GUI nicht aktualisiert wird.

Parameter:
cursorCursors

Der über der Leinwand anzuzeigende Cursor. Hinweis: Einige Backends ändern möglicherweise den Cursor für das gesamte Fenster.

start_event_loop(timeout=0)[Quelle]#

Startet eine blockierende Ereignisschleife.

Eine solche Ereignisschleife wird von interaktiven Funktionen wie ginput und waitforbuttonpress verwendet, um auf Ereignisse zu warten.

Die Ereignisschleife blockiert, bis eine Callback-Funktion stop_event_loop auslöst oder timeout erreicht ist.

Wenn timeout 0 oder negativ ist, tritt kein Timeout auf.

Nur interaktive Backends müssen diese Methode neu implementieren, und sie ist darauf angewiesen, dass flush_events ordnungsgemäß implementiert ist.

Interaktive Backends sollten dies auf eine nativer Weise implementieren.

stop_event_loop()[Quelle]#

Stoppt die aktuelle blockierende Ereignisschleife.

Interaktive Backends müssen dies neu implementieren, um start_event_loop anzupassen.

supports_blit = False#
class matplotlib.backend_bases.FigureManagerBase(canvas, num)[Quelle]#

Bases: object

Eine backend-unabhängige Abstraktion eines Figurenbereiches und Controllers.

Der Figure-Manager wird von pyplot verwendet, um auf unabhängige Weise mit dem Fenster zu interagieren. Es ist ein Adapter für das echte (GUI-)Framework, das die visuelle Figur auf dem Bildschirm darstellt.

Der Figure-Manager ist mit einer spezifischen Canvas-Instanz verbunden, die wiederum mit einer spezifischen Figure-Instanz verbunden ist. Um in Benutzercode auf einen Figure-Manager für eine gegebene Figur zuzugreifen, verwenden Sie typischerweise fig.canvas.manager.

GUI-Backends leiten von dieser Klasse ab, um gängige Operationen wie show oder resize in GUI-spezifischen Code zu übersetzen. Nicht-GUI-Backends unterstützen diese Operationen nicht und können einfach die Basisklasse verwenden.

Die folgenden grundlegenden Operationen sind zugänglich

Fensteroperationen

Tasten- und Maustasten-Druckbehandlung

Der Figure-Manager richtet eine Standardbehandlung für Tastatur- und Maustastenanschläge ein, indem er key_press_handler an das Matplotlib-Ereignissystem bindet. Dies stellt die gleichen Tastenkombinationen und Mausaktionen über Backends hinweg sicher.

Andere Operationen

Unterklassen haben zusätzliche Attribute und Funktionen, um auf zusätzliche Funktionalität zuzugreifen. Dies ist natürlich Backend-spezifisch. Zum Beispiel haben die meisten GUI-Backends Attribute wie window und toolbar, die Zugriff auf die nativen GUI-Widgets des jeweiligen Frameworks bieten.

Attribute:
canvasFigureCanvasBase

Die Backend-spezifische Canvas-Instanz.

numint oder str

Die Nummer der Figur.

key_press_handler_idint

Die Standard-CID des Tastendruck-Handlers, wenn der Toolmanager verwendet wird. Um die Standard-Tastendruckbehandlung zu deaktivieren, verwenden Sie

figure.canvas.mpl_disconnect(
    figure.canvas.manager.key_press_handler_id)
button_press_handler_idint

Die Standard-CID des Maustasten-Handlers, wenn der Toolmanager verwendet wird. Um die Standard-Maustastenbehandlung zu deaktivieren, verwenden Sie

figure.canvas.mpl_disconnect(
    figure.canvas.manager.button_press_handler_id)
classmethod create_with_canvas(canvas_class, figure, num)[Quelle]#

Erzeugt einen Manager für eine gegebene figure unter Verwendung einer spezifischen canvas_class.

Backends sollten diese Methode überschreiben, wenn sie spezifische Anforderungen für die Einrichtung der Canvas oder des Managers haben.

destroy()[Quelle]#
full_screen_toggle()[Quelle]#
get_window_title()[Quelle]#

Gibt den Titeltext des Fensters zurück, das die Figur enthält.

classmethod pyplot_show(*, block=None)[Quelle]#

Zeigt alle Figuren an. Diese Methode ist die Implementierung von pyplot.show.

Um das Verhalten von pyplot.show anzupassen, sollten interaktive Backends normalerweise start_main_loop überschreiben; wenn eine individuellere Logik erforderlich ist, kann auch pyplot_show überschrieben werden.

Parameter:
blockbool, optional

Ob blockiert werden soll, indem start_main_loop aufgerufen wird. Der Standardwert None bedeutet zu blockieren, wenn wir uns weder im IPython '%pylab'-Modus noch im 'interactive'-Modus befinden.

resize(w, h)[Quelle]#

Für GUI-Backends wird die Fenstergröße (in physischen Pixeln) geändert.

set_window_title(title)[Quelle]#

Setzt den Titeltext des Fensters, das die Figur enthält.

Beispiele

>>> fig = plt.figure()
>>> fig.canvas.manager.set_window_title('My figure')
show()[Quelle]#

Für GUI-Backends wird das Figurenfenster angezeigt und neu gezeichnet. Für Nicht-GUI-Backends wird eine Ausnahme ausgelöst, es sei denn, es wird im Headless-Modus ausgeführt (d. h. unter Linux mit einem nicht gesetzten DISPLAY); diese Ausnahme wird in Figure.show in eine Warnung umgewandelt.

classmethod start_main_loop()[Quelle]#

Startet die Hauptereignisschleife.

Diese Methode wird von FigureManagerBase.pyplot_show aufgerufen, welche die Implementierung von pyplot.show ist. Um das Verhalten von pyplot.show anzupassen, sollten interaktive Backends normalerweise start_main_loop überschreiben; wenn eine individuellere Logik erforderlich ist, kann auch pyplot_show überschrieben werden.

class matplotlib.backend_bases.GraphicsContextBase[Quelle]#

Bases: object

Eine abstrakte Basisklasse, die Farben, Linienstile usw. bereitstellt.

copy_properties(gc)[Quelle]#

Kopiert Eigenschaften von gc nach self.

get_alpha()[Quelle]#

Gibt den für die Mischung verwendeten Alpha-Wert zurück - wird nicht von allen Backends unterstützt.

get_antialiased()[Quelle]#

Gibt zurück, ob das Objekt mit geglätteten Kanten (antialiased) gerendert werden soll.

get_capstyle()[Quelle]#

Gibt den CapStyle zurück.

get_clip_path()[Quelle]#

Gibt den Clipping-Pfad im Format (Pfad, Transformation) zurück, wobei Pfad eine Path-Instanz ist und Transformation eine affine Transformation ist, die vor dem Clipping auf den Pfad angewendet wird.

get_clip_rectangle()[Quelle]#

Gibt das Clipping-Rechteck als Bbox-Instanz zurück.

get_dashes()[Quelle]#

Gibt den Dash-Stil als (Offset, Dash-Liste)-Paar zurück.

Siehe set_dashes für Details.

Standardwert ist (None, None).

get_forced_alpha()[Quelle]#

Gibt zurück, ob der von get_alpha() gegebene Wert verwendet werden soll, um alle anderen Alpha-Kanalwerte zu überschreiben.

get_gid()[Quelle]#

Gibt die Objektkennung zurück, falls eine gesetzt ist, andernfalls None.

get_hatch()[Quelle]#

Ruft den aktuellen Schraffur-Stil ab.

get_hatch_color()[Quelle]#

Ruft die Schraffurfarbe ab.

get_hatch_linewidth()[Quelle]#

Ruft die Linienstärke der Schraffur ab.

get_hatch_path(density=6.0)[Quelle]#

Gibt einen Path für die aktuelle Schraffur zurück.

get_joinstyle()[Quelle]#

Gibt den JoinStyle zurück.

get_linewidth()[Quelle]#

Gibt die Linienstärke in Punkten zurück.

get_rgb()[Quelle]#

Gibt ein Tupel aus drei oder vier Float-Werten von 0 bis 1 zurück.

get_sketch_params()[Quelle]#

Gibt die Skizzenparameter für den Artist zurück.

Gibt zurück:
Tupel oder None

Ein 3-Tupel mit den folgenden Elementen

  • scale: Die Amplitude des Gewiggels senkrecht zur Quelllinie.

  • length: Die Länge des Gewiggels entlang der Linie.

  • randomness: Der Skalierungsfaktor, um den die Länge verkleinert oder vergrößert wird.

Kann None zurückgeben, wenn keine Skizzenparameter gesetzt wurden.

get_snap()[Quelle]#

Gibt die Snap-Einstellung zurück, die sein kann

  • True: Eckpunkte an das nächstgelegene Pixelzentrum anpassen

  • False: Eckpunkte unverändert lassen

  • None: (auto) Wenn der Pfad nur aus rechtwinkligen Liniensegmenten besteht, wird er auf das nächstgelegene Pixelzentrum gerundet.

get_url()[Quelle]#

Gibt eine URL zurück, falls eine gesetzt ist, andernfalls None.

restore()[Quelle]#

Stellt den Grafikkontext vom Stapel wieder her - nur für Backends erforderlich, die Grafikkontexte auf einem Stapel speichern.

set_alpha(alpha)[Quelle]#

Legt den für die Mischung verwendeten Alpha-Wert fest - wird nicht von allen Backends unterstützt.

Wenn alpha=None (Standard), werden die Alpha-Komponenten der Vorder- und Füllfarben verwendet, um ihre jeweiligen Transparenzen (wo zutreffend) einzustellen; andernfalls überschreibt alpha diese.

set_antialiased(b)[Quelle]#

Legt fest, ob das Objekt mit geglätteten Kanten (antialiased) gerendert werden soll.

set_capstyle(cs)[Quelle]#

Legt fest, wie Linienenden gezeichnet werden.

Parameter:
csCapStyle oder {'butt', 'projecting', 'round'}
set_clip_path(path)[Quelle]#

Setzt den Clipping-Pfad auf einen TransformedPath oder None.

set_clip_rectangle(rectangle)[Quelle]#

Setzt das Clipping-Rechteck auf eine Bbox oder None.

set_dashes(dash_offset, dash_list)[Quelle]#

Setzt den Dash-Stil für den GC.

Parameter:
dash_offsetfloat

Abstand, in Punkten, im Dash-Muster, bei dem das Muster beginnen soll. Wird normalerweise auf 0 gesetzt.

dash_listarray-ähnlich oder None

Die Ein/Aus-Sequenz als Punkte. None spezifiziert eine durchgezogene Linie. Alle Werte müssen sonst nicht negativ sein (\(\ge 0\)).

Anmerkungen

Siehe S. 666 des PostScript Language Reference für weitere Informationen.

set_foreground(fg, isRGBA=False)[Quelle]#

Setzt die Vordergrundfarbe.

Parameter:
fgFarbe
isRGBAbool

Wenn fg als (r, g, b, a) Tupel bekannt ist, kann isRGBA auf True gesetzt werden, um die Leistung zu verbessern.

set_gid(id)[Quelle]#

Setzt die ID.

set_hatch(hatch)[Quelle]#

Setzt den Schraffur-Stil (für Füllungen).

set_hatch_color(hatch_color)[Quelle]#

Setzt die Schraffurfarbe.

set_hatch_linewidth(hatch_linewidth)[Quelle]#

Setzt die Linienstärke der Schraffur.

set_joinstyle(js)[Quelle]#

Legt fest, wie Verbindungen zwischen Liniensegmenten gezeichnet werden.

Parameter:
jsJoinStyle oder {'miter', 'round', 'bevel'}
set_linewidth(w)[Quelle]#

Setzt die Linienstärke in Punkten.

set_sketch_params(scale=None, length=None, randomness=None)[Quelle]#

Legt die Skizzenparameter fest.

Parameter:
scalefloat, optional

Die Amplitude der Auslenkung senkrecht zur Quelllinie in Pixeln. Wenn scale None ist oder nicht angegeben wird, wird kein Skizzenfilter bereitgestellt.

lengthfloat, Standard: 128

Die Länge des Gewiggels entlang der Linie in Pixeln.

randomnessfloat, Standard: 16

Der Skalierungsfaktor, um den die Länge verkleinert oder vergrößert wird.

set_snap(snap)[Quelle]#

Setzt die Snap-Einstellung, die sein kann

  • True: Eckpunkte an das nächstgelegene Pixelzentrum anpassen

  • False: Eckpunkte unverändert lassen

  • None: (auto) Wenn der Pfad nur aus rechtwinkligen Liniensegmenten besteht, wird er auf das nächstgelegene Pixelzentrum gerundet.

set_url(url)[Quelle]#

Setzt die URL für Links in kompatiblen Backends.

class matplotlib.backend_bases.KeyEvent(name, canvas, key, x=0, y=0, guiEvent=None)[Quelle]#

Basiert auf: LocationEvent

Ein Tastaturereignis (Tastendruck, Tastenfreigabe).

Ein KeyEvent hat zusätzlich zu den vom übergeordneten Event und LocationEvent Klassen definierten Attributen eine Reihe von Spezialattributen.

Attribute:
keyNone oder str

Die gedrückte(n) Taste(n). Kann None, ein einzelnes Groß-/Kleinschreibung beachtendes Unicode-Zeichen ("g", "G", "#" usw.), eine spezielle Taste ("control", "shift", "f1", "up" usw.) oder eine Kombination davon sein (z.B. "ctrl+alt+g", "ctrl+alt+G").

Anmerkungen

Modifikatortasten werden der gedrückten Taste vorangestellt und sind in der Reihenfolge "ctrl", "alt", "super". Die Ausnahme von dieser Regel ist, wenn die gedrückte Taste selbst eine Modifikatortaste ist, daher können sowohl "ctrl+alt" als auch "alt+control" gültige Tastenwerte sein.

Beispiele

def on_key(event):
    print('you pressed', event.key, event.xdata, event.ydata)

cid = fig.canvas.mpl_connect('key_press_event', on_key)
class matplotlib.backend_bases.LocationEvent(name, canvas, x, y, guiEvent=None, *, modifiers=None)[Quelle]#

Bases: Event

Ein Ereignis mit einem Bildschirmstandort.

Ein LocationEvent hat zusätzlich zu den vom übergeordneten Event definierten Attributen eine Reihe von Spezialattributen.

Attribute:
x, yint oder None

Ereignisstandort in Pixeln vom unteren linken Rand der Canvas.

inaxesAxes oder None

Die Axes-Instanz, über der sich die Maus befindet, falls vorhanden.

xdata, ydatafloat oder None

Datenkoordinaten der Maus innerhalb von inaxes, oder None, wenn sich die Maus nicht über einer Axes befindet.

modifiersfrozenset

Die derzeit gedrückten Modifikatortasten (außer bei KeyEvent).

class matplotlib.backend_bases.MouseButton(*values)[Quelle]#

Basiert auf: IntEnum

BACK = 8[Quelle]#
FORWARD = 9[Quelle]#
LEFT = 1[Quelle]#
MIDDLE = 2[source]#
RIGHT = 3[source]#
class matplotlib.backend_bases.MouseEvent(name, canvas, x, y, button=None, key=None, step=0, dblclick=False, guiEvent=None, *, buttons=None, modifiers=None)[source]#

Basiert auf: LocationEvent

Ein Mausereignis ('button_press_event', 'button_release_event', 'scroll_event', 'motion_notify_event').

Ein MouseEvent hat zusätzlich zu den durch die übergeordneten Klassen Event und LocationEvent definierten Attributen eine Reihe von Sonderattributen.

Attribute:
buttonNone oder MouseButton oder {'up', 'down'}

Die gedrückte Taste. Für Scroll-Ereignisse werden 'up' und 'down' verwendet.

Beachten Sie, dass LEFT und RIGHT sich tatsächlich auf die "primären" und "sekundären" Tasten beziehen, d. h. wenn der Benutzer seine linken und rechten Tasten vertauscht ("Linkshänder-Einstellung"), dann ist die LEFT-Taste diejenige, die physisch auf der rechten Seite liegt.

Wenn dies nicht gesetzt ist, name ist "scroll_event" und step ist ungleich Null, dann wird dies auf "up" oder "down" gesetzt, abhängig vom Vorzeichen von step.

buttonsNone oder frozenset

Für 'motion_notify_event' die gerade gedrückten Maustasten (eine Menge von null oder mehr MouseButtons); für andere Ereignisse None.

Hinweis

Für 'motion_notify_event' ist dieses Attribut genauer als das Attribut button (Singular), das aus dem letzten 'button_press_event' oder 'button_release_event' stammt, das innerhalb der Zeichenfläche aufgetreten ist (und daher 1. falsch sein kann, wenn die letzte Änderung des Mauszustands auftrat, als die Zeichenfläche keinen Fokus hatte, und 2. nicht melden kann, wenn mehrere Tasten gedrückt werden).

Dieses Attribut wird für 'button_press_event' und 'button_release_event' nicht gesetzt, da GUI-Toolkits uneinheitlich sind, ob sie den Tastenstatus *vor* oder *nach* dem Drücken/Loslassen melden.

Warnung

Unter macOS melden die Tk-Backends auch dann nur eine einzige Taste, wenn mehrere Tasten gedrückt werden.

keyNone oder str

Die beim Auslösen des Mausereignisses gedrückte Taste, z. B. 'shift'. Siehe KeyEvent.

Warnung

Diese Taste wird derzeit aus dem letzten 'key_press_event' oder 'key_release_event' bezogen, das innerhalb der Zeichenfläche aufgetreten ist. Daher wird dieses Attribut falsch sein, wenn die letzte Änderung des Tastaturzustands auftrat, während die Zeichenfläche keinen Fokus hatte. Auf der anderen Seite sollte das Attribut modifiers immer korrekt sein, aber es kann nur Modifikatortasten melden.

stepfloat

Die Anzahl der Scroll-Schritte (positiv für 'up', negativ für 'down'). Dies gilt nur für 'scroll_event' und ist ansonsten standardmäßig 0.

dblclickbool

Ob das Ereignis ein Doppelklick ist. Dies gilt nur für 'button_press_event' und ist ansonsten False. Insbesondere wird es nicht in 'button_release_event' verwendet.

Beispiele

def on_press(event):
    print('you pressed', event.button, event.xdata, event.ydata)

cid = fig.canvas.mpl_connect('button_press_event', on_press)
class matplotlib.backend_bases.NavigationToolbar2(canvas)[source]#

Bases: object

Basisklasse für den Navigationscursor, Version 2.

Backends müssen eine Zeichenfläche implementieren, die Verbindungen für 'button_press_event' und 'button_release_event' behandelt. Siehe FigureCanvasBase.mpl_connect() für weitere Informationen.

Sie müssen außerdem definieren

save_figure()

Speichert die aktuelle Abbildung.

draw_rubberband() (optional)

Zeichnet das Rechteck "Zoom to Rect" (Gummiband).

set_message() (optional)

Zeigt eine Nachricht an.

set_history_buttons() (optional)

Sie können die Schaltflächen für Verlauf vor/zurück ändern, um deaktivierten/aktivierten Zustand anzuzeigen.

und __init__ überschreiben, um die Symbolleiste einzurichten - ohne zu vergessen, die Basisklassen-Initialisierung aufzurufen. Typischerweise muss __init__ Werkzeugleistenschaltflächen einrichten, die mit den Methoden home, back, forward, pan, zoom und save_figure verbunden sind und Standard-Icons im Unterverzeichnis "images" des Datenpfads verwendet werden.

Das ist alles, den Rest erledigen wir!

UNKNOWN_SAVED_STATUS = <object object>#
back(*args)[source]#

Bewegen Sie sich zurück im View-Limit-Stack.

Um bequem direkt als GUI-Callback verbunden zu werden, der oft zusätzliche Parameter übergeben bekommt, akzeptiert diese Methode beliebige Parameter, verwendet sie aber nicht.

configure_subplots(*args)[source]#
drag_pan(event)[source]#

Callback für das Ziehen im Pan/Zoom-Modus.

drag_zoom(event)[source]#

Callback für das Ziehen im Zoom-Modus.

draw_rubberband(event, x0, y0, x1, y1)[source]#

Zeichnet ein Gummiband-Rechteck, um die Zoomgrenzen anzuzeigen.

Beachten Sie, dass nicht garantiert ist, dass x0 <= x1 und y0 <= y1.

forward(*args)[source]#

Gehen Sie im View-Limit-Stack vorwärts.

Um bequem direkt als GUI-Callback verbunden zu werden, der oft zusätzliche Parameter übergeben bekommt, akzeptiert diese Methode beliebige Parameter, verwendet sie aber nicht.

home(*args)[source]#

Stellt die ursprüngliche Ansicht wieder her.

Um bequem direkt als GUI-Callback verbunden zu werden, der oft zusätzliche Parameter übergeben bekommt, akzeptiert diese Methode beliebige Parameter, verwendet sie aber nicht.

mouse_move(event)[source]#
pan(*args)[source]#

Schaltet das Pan/Zoom-Werkzeug um.

Schwenken mit der linken Taste, Zoomen mit der rechten.

press_pan(event)[source]#

Callback für Maustasten-Druck im Pan/Zoom-Modus.

press_zoom(event)[source]#

Callback für Maustasten-Druck im Zoom-zu-Rechteck-Modus.

push_current()[source]#

Pusht die aktuellen Ansichtslimits und die Position auf den Stack.

release_pan(event)[source]#

Callback für das Loslassen der Maustaste im Pan/Zoom-Modus.

release_zoom(event)[source]#

Callback für das Loslassen der Maustaste im Zoom-zu-Rechteck-Modus.

remove_rubberband()[source]#

Entfernt das Gummiband.

save_figure(*args)[source]#

Speichert die aktuelle Abbildung.

Backend-Implementierungen können wählen, den absoluten Pfad der gespeicherten Datei, falls vorhanden, als String zurückzugeben.

Wenn keine Datei erstellt wird, wird None zurückgegeben.

Wenn das Backend diese Funktionalität nicht implementiert, wird NavigationToolbar2.UNKNOWN_SAVED_STATUS zurückgegeben.

Gibt zurück:
str oder NavigationToolbar2.UNKNOWN_SAVED_STATUS oder None

Der Dateipfad der gespeicherten Abbildung. Gibt None zurück, wenn die Abbildung nicht gespeichert ist. Gibt NavigationToolbar2.UNKNOWN_SAVED_STATUS zurück, wenn das Backend die Information nicht bereitstellt.

set_history_buttons()[source]#

Aktiviert oder deaktiviert die Schaltflächen Vor/Zurück.

set_message(s)[source]#

Zeigt eine Nachricht auf der Werkzeugleiste oder in der Statusleiste an.

toolitems = (('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous view', 'back', 'back'), ('Forward', 'Forward to next view', 'forward', 'forward'), (None, None, None, None), ('Pan', 'Left button pans, Right button zooms\nx/y fixes axis, CTRL fixes aspect', 'move', 'pan'), ('Zoom', 'Zoom to rectangle\nx/y fixes axis', 'zoom_to_rect', 'zoom'), ('Subplots', 'Configure subplots', 'subplots', 'configure_subplots'), (None, None, None, None), ('Save', 'Save the figure', 'filesave', 'save_figure'))#
update()[source]#

Setzt den Achsen-Stack zurück.

zoom(*args)[source]#
exception matplotlib.backend_bases.NonGuiException[source]#

Bases: Exception

Wird ausgelöst, wenn versucht wird, eine Abbildung in einem Nicht-GUI-Backend anzuzeigen.

class matplotlib.backend_bases.PickEvent(name, canvas, mouseevent, artist, guiEvent=None, **kwargs)[source]#

Bases: Event

Ein Pick-Ereignis.

Dieses Ereignis wird ausgelöst, wenn der Benutzer eine Position auf der Zeichenfläche auswählt, die einem Künstler nahe genug ist, der mit Artist.set_picker auswählbar gemacht wurde.

Ein PickEvent hat zusätzlich zu den durch die übergeordnete Klasse Event definierten Attributen eine Reihe von Sonderattributen.

Attribute:
mouseeventMouseEvent

Das Mausereignis, das den Pick ausgelöst hat.

artistArtist

Der ausgewählte Künstler. Beachten Sie, dass Künstler standardmäßig nicht auswählbar sind (siehe Artist.set_picker).

andere

Zusätzliche Attribute können vorhanden sein, abhängig vom Typ des ausgewählten Objekts; z. B. kann ein Pick eines Line2D andere zusätzliche Attribute definieren als ein Pick einer PatchCollection.

Beispiele

Binden Sie eine Funktion on_pick() an Pick-Ereignisse, die die Koordinaten des ausgewählten Datenpunkts ausgibt.

ax.plot(np.rand(100), 'o', picker=5)  # 5 points tolerance

def on_pick(event):
    line = event.artist
    xdata, ydata = line.get_data()
    ind = event.ind
    print(f'on pick line: {xdata[ind]:.3f}, {ydata[ind]:.3f}')

cid = fig.canvas.mpl_connect('pick_event', on_pick)
class matplotlib.backend_bases.RendererBase[source]#

Bases: object

Eine abstrakte Basisklasse zur Handhabung von Zeichen-/Rendering-Operationen.

Die folgenden Methoden müssen im Backend für volle Funktionalität implementiert werden (obwohl die Implementierung allein von draw_path ein Backend mit hoher Leistungsfähigkeit ergeben würde)

Die folgenden Methoden *sollten* aus Optimierungsgründen im Backend implementiert werden

close_group(s)[source]#

Schließt ein Gruppierungselement mit der Beschriftung s.

Wird nur vom SVG-Renderer verwendet.

draw_gouraud_triangles(gc, triangles_array, colors_array, transform)[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 Translationsvektor der Transformation ist 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 Basis (Fallback-)Implementierung macht mehrere Aufrufe von draw_path. Backends möchten diese Methode möglicherweise überschreiben, um die Markierung nur einmal zu zeichnen und sie mehrmals 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_path(gc, path, transform, rgbFace=None)[Quelle]#

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

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 Basis-(Fallback-)Implementierung führt mehrere Aufrufe von draw_path durch. Backends möchten dies möglicherweise überschreiben, um jeden Pfaddatensatz nur einmal zu rendern und diesen Pfad dann mit den verschiedenen Offsets, Farben, Stilen usw. mehrfach zu referenzieren. Die Generator-Methoden _iter_collection_raw_paths und _iter_collection werden bereitgestellt, 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_quad_mesh(gc, master_transform, meshWidth, meshHeight, coordinates, offsets, offsetTrans, facecolors, antialiased, edgecolors)[Quelle]#

Zeichnet ein Quadmesh.

Die Basis-(Fallback-)Implementierung konvertiert das Quadmesh in Pfade und ruft dann draw_path_collection auf.

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 nicht für tatsächliche Rendering-Backends erforderlich und viele eingebaute Backends unterstützen dies nicht. Vielmehr wird TeX-Rendering von draw_tex bereitgestellt.

flipy()[Quelle]#

Gibt zurück, ob die y-Werte von oben nach unten zunehmen.

Beachten Sie, dass dies nur das Zeichnen von Texten beeinflusst.

get_canvas_width_height()[Quelle]#

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

get_image_magnification()[Quelle]#

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

get_texmanager()[Quelle]#

Gibt die TexManager-Instanz 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.

new_gc()[Quelle]#

Gibt eine Instanz eines GraphicsContextBase zurück.

open_group(s, gid=None)[Quelle]#

Öffnet ein Gruppierungselement mit der Beschriftung s und gid (falls gesetzt) als ID.

Wird nur vom SVG-Renderer verwendet.

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 Vektor-Backends).

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

Wechselt zu einem temporären Renderer für Bildfiltereffekte.

Derzeit nur vom Agg-Renderer unterstützt.

start_rasterizing()[Quelle]#

Wechselt zum Raster-Renderer.

Wird von MixedModeRenderer verwendet.

stop_filter(filter_func)[Quelle]#

Wechselt zurück zum ursprünglichen Renderer. Der Inhalt des temporären Renderers wird mit der filter_func verarbeitet und als Bild auf den ursprünglichen Renderer gezeichnet.

Derzeit nur vom Agg-Renderer unterstützt.

stop_rasterizing()[Quelle]#

Wechselt zurück zum Vektor-Renderer und zeichnet den Inhalt des Raster-Renderers als Bild auf den Vektor-Renderer.

Wird von MixedModeRenderer verwendet.

class matplotlib.backend_bases.ResizeEvent(name, canvas)[Quelle]#

Bases: Event

Ein Ereignis, das durch eine Größenänderung der Leinwand ausgelöst wird.

Ein ResizeEvent hat zusätzlich zu den im übergeordneten Event-Klasse definierten Attributen eine Reihe von Sonderattributen.

Attribute:
widthint

Breite der Leinwand in Pixel.

heightint

Höhe der Leinwand in Pixel.

class matplotlib.backend_bases.ShowBase[Quelle]#

Bases: _Backend

Einfache Basisklasse zur Erzeugung einer show()-Funktion in Backends.

Unterklassen müssen die Methode mainloop() überschreiben.

class matplotlib.backend_bases.TimerBase(interval=None, callbacks=None)[Quelle]#

Bases: object

Eine Basisklasse für die Bereitstellung von Timer-Ereignissen, nützlich für Animationen. Backends müssen einige spezifische Methoden implementieren, um ihre eigenen Timing-Mechanismen zu verwenden, damit die Timer-Ereignisse in ihre Event-Schleifen integriert werden.

Unterklassen müssen die folgenden Methoden überschreiben

  • _timer_start: Backend-spezifischer Code zum Starten des Timers.

  • _timer_stop: Backend-spezifischer Code zum Stoppen des Timers.

Unterklassen können zusätzlich die folgenden Methoden überschreiben

  • _timer_set_single_shot: Code zum Einstellen des Timers in den Single-Shot-Betriebsmodus, falls vom Timer-Objekt unterstützt. Andernfalls speichert die Timer-Klasse selbst das Flag und die Methode _on_timer sollte überschrieben werden, um ein solches Verhalten zu unterstützen.

  • _timer_set_interval: Code zum Einstellen des Intervalls des Timers, falls eine entsprechende Methode im Timer-Objekt vorhanden ist.

  • _on_timer: Die interne Funktion, die jedes Timer-Objekt aufrufen sollte, und die die Ausführung aller gesetzten Callbacks übernimmt.

Parameter:
intervalint, Standard: 1000ms

Die Zeit zwischen Timer-Ereignissen in Millisekunden. Wird als timer.interval gespeichert.

callbackslist[tuple[callable, tuple, dict]]

Liste von (func, args, kwargs) Tupeln, die bei Timer-Ereignissen aufgerufen werden. Diese Liste ist als timer.callbacks zugänglich und kann direkt manipuliert werden, oder die Funktionen add_callback und remove_callback können verwendet werden.

add_callback(func, *args, **kwargs)[Quelle]#

Registriert func, das vom Timer aufgerufen wird, wenn das Ereignis ausgelöst wird. Zusätzliche Argumente werden an func übergeben.

Diese Funktion gibt func zurück, was es ermöglicht, sie als Dekorator zu verwenden.

property interval#

Die Zeit zwischen Timer-Ereignissen in Millisekunden.

remove_callback(func, *args, **kwargs)[Quelle]#

Entfernt func aus der Liste der Callbacks.

args und kwargs sind optional und werden verwendet, um zwischen Kopien derselben Funktion zu unterscheiden, die mit unterschiedlichen Argumenten aufgerufen werden. Dieses Verhalten ist veraltet. In Zukunft werden *args, **kwargs nicht mehr berücksichtigt; um einen bestimmten Callback eigenständig entfernbar zu halten, übergeben Sie ihn als functools.partial Objekt an add_callback.

property single_shot#

Ob dieser Timer nach einem einzelnen Lauf stoppen soll.

start(interval=<deprecated parameter>)[Quelle]#

Startet das Timer-Objekt.

Parameter:
intervalint, optional

Timer-Intervall in Millisekunden; überschreibt ein zuvor gesetztes Intervall, falls angegeben.

stop()[Quelle]#

Stoppt den Timer.

class matplotlib.backend_bases.ToolContainerBase(toolmanager)[Quelle]#

Bases: object

Basisklasse für alle Tool-Container, z.B. Werkzeugleisten.

Attribute:
toolmanagerToolManager

Die Werkzeuge, mit denen dieser ToolContainer kommunizieren möchte.

add_tool(tool, group, position=-1)[Quelle]#

Fügt ein Werkzeug zu diesem Container hinzu.

Parameter:
tooltool_like

Das hinzuzufügende Werkzeug, siehe ToolManager.get_tool.

groupstr

Der Name der Gruppe, zu der dieses Werkzeug hinzugefügt werden soll.

positionint, Standard: -1

Die Position innerhalb der Gruppe, an der dieses Werkzeug platziert werden soll.

add_toolitem(name, group, position, image, description, toggle)[Quelle]#

Ein Hook zum Hinzufügen eines Tool-Items zum Container.

Dieser Hook muss in jedem Backend implementiert werden und enthält den Backend-spezifischen Code zum Hinzufügen eines Elements zur Werkzeugleiste.

Warnung

Dies ist Teil der Backend-Implementierung und sollte nicht von Endbenutzern aufgerufen werden. Sie sollten stattdessen ToolContainerBase.add_tool aufrufen.

Der Callback, der mit dem Klick auf die Schaltfläche verbunden ist, muss *exakt* self.trigger_tool(name) sein.

Parameter:
namestr

Name des hinzuzufügenden Werkzeugs, dies wird als Werkzeug-ID und als Standardbeschriftung der Schaltflächen verwendet.

groupstr

Name der Gruppe, zu der dieses Werkzeug gehört.

positionint

Position des Werkzeugs innerhalb seiner Gruppe, wenn -1, wird es am Ende platziert.

imagestr

Dateiname des Bildes für die Schaltfläche oder None.

descriptionstr

Beschreibung des Werkzeugs, verwendet für die Tooltips.

togglebool
  • True: Die Schaltfläche ist ein Umschalter (ändert den gedrückten/ungedrückten Zustand zwischen aufeinanderfolgenden Klicks).

  • False: Die Schaltfläche ist eine normale Schaltfläche (kehrt nach dem Loslassen in den ungedrückten Zustand zurück).

remove_toolitem(name)[Quelle]#

Ein Hook zum Entfernen eines Tool-Items aus dem Container.

Dieser Hook muss in jedem Backend implementiert werden und enthält den Backend-spezifischen Code zum Entfernen eines Elements aus der Werkzeugleiste; er wird aufgerufen, wenn ToolManager ein tool_removed_event auslöst.

Da einige Werkzeuge nur im ToolManager, aber nicht im ToolContainer vorhanden sind, muss diese Methode bei einem Werkzeug, das nicht im Container vorhanden ist, eine No-Op sein.

Warnung

Dies ist Teil der Backend-Implementierung und sollte nicht von Endbenutzern aufgerufen werden. Sie sollten stattdessen ToolManager.remove_tool aufrufen.

Parameter:
namestr

Name des zu entfernenden Werkzeugs.

set_message(s)[Quelle]#

Zeigt eine Nachricht auf der Werkzeugleiste an.

Parameter:
sstr

Nachrichtentext.

toggle_toolitem(name, toggled)[Quelle]#

Ein Hook zum Umschalten eines Tool-Items, ohne ein Ereignis auszulösen.

Dieser Hook muss in jedem Backend implementiert werden und enthält den Backend-spezifischen Code zum stillen Umschalten eines Werkzeugleistenelements.

Warnung

Dies ist Teil der Backend-Implementierung und sollte nicht von Endbenutzern aufgerufen werden. Sie sollten stattdessen ToolManager.trigger_tool oder ToolContainerBase.trigger_tool (die äquivalent sind) aufrufen.

Parameter:
namestr

ID des zu schaltenden Werkzeugs.

toggledbool

Ob dieses Werkzeug als umgeschaltet gesetzt werden soll oder nicht.

trigger_tool(name)[Quelle]#

Löst das Werkzeug aus.

Parameter:
namestr

Name (ID) des Werkzeugs, das innerhalb des Containers ausgelöst wird.

matplotlib.backend_bases.button_press_handler(event, canvas=None, toolbar=None)[Quelle]#

Die standardmäßigen Matplotlib-Button-Aktionen für zusätzliche Maustasten.

Die Parameter sind die gleichen wie bei key_press_handler, mit der Ausnahme, dass event ein MouseEvent ist.

matplotlib.backend_bases.get_registered_canvas_class(format)[Quelle]#

Gibt die registrierte Standard-Canvas-Klasse für das angegebene Dateiformat zurück. Behandelt den verzögerten Import des erforderlichen Backends.

matplotlib.backend_bases.key_press_handler(event, canvas=None, toolbar=None)[Quelle]#

Implementiert die Standard-Tastenkombinationen von Matplotlib für die Canvas und die Toolbar, wie unter Tastenkombinationen für die Navigation beschrieben.

Parameter:
eventKeyEvent

Ein Tastendruck-/Tastendruck-Ereignis.

canvasFigureCanvasBase, Standard: event.canvas

Die backend-spezifische Canvas-Instanz. Dieser Parameter wird aus Kompatibilitätsgründen beibehalten, sollte aber, wenn gesetzt, immer gleich event.canvas sein.

toolbarNavigationToolbar2, Standard: event.canvas.toolbar

Die Navigationscursor-Toolbar. Dieser Parameter wird aus Kompatibilitätsgründen beibehalten, sollte aber, wenn gesetzt, immer gleich event.canvas.toolbar sein.

matplotlib.backend_bases.register_backend(format, backend, description=None)[Quelle]#

Registriert ein Backend zum Speichern in einem bestimmten Dateiformat.

Parameter:
formatstr

Dateierweiterung

backendModulzeichenkette oder Canvas-Klasse

Backend für die Handhabung der Dateiausgabe

descriptionstr, Standard: ""

Beschreibung des Dateityps.