matplotlib.backend_bases#
Abstrakte Basisklassen definieren die Primitiven, die Renderer und Grafikkontexte implementieren müssen, um als Matplotlib-Backend zu dienen.
RendererBaseEine abstrakte Basisklasse zur Handhabung von Zeichen-/Rendering-Operationen.
FigureCanvasBaseDie Abstraktionsschicht, die die
Figurevon Backend-spezifischen Details wie einer Benutzeroberfläche zum Zeichnen trennt.GraphicsContextBaseEine abstrakte Basisklasse, die Farben, Linienstile usw. bereitstellt.
EventDie Basisklasse für die gesamte Matplotlib-Ereignisbehandlung. Abgeleitete Klassen wie
KeyEventundMouseEventspeichern Metadaten wie gedrückte Tasten und Maustasten, x- und y-Positionen in Pixeln undAxes-Koordinaten.ShowBaseDie Basisklasse für die
Show-Klasse jedes interaktiven Backends; das aufrufbare 'show' wird dann aufShow.__call__gesetzt.ToolContainerBaseDie Basisklasse für die Toolbar-Klasse jedes interaktiven Backends.
- class matplotlib.backend_bases.CloseEvent(name, canvas, guiEvent=None)[Quelle]#
Bases:
EventEin Ereignis, das durch das Schließen einer Abbildung ausgelöst wird.
- class matplotlib.backend_bases.DrawEvent(name, canvas, renderer)[Quelle]#
Bases:
EventEin 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
blitexplizit aufgerufen wird.Warnung
Das Aufrufen von
canvas.drawundcanvas.blitin 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:
- renderer
RendererBase Der Renderer für das Zeichenereignis.
- renderer
- class matplotlib.backend_bases.Event(name, canvas, guiEvent=None)[Quelle]#
Bases:
objectEin 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.
- canvas
FigureCanvasBase 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:
objectDie Leinwand, in die die Abbildung gerendert wird.
- Attribute:
- figure
Figure Eine High-Level-Abbildung-Instanz.
- figure
- 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_idleerfolgen, 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
Axeszurück, die den Punkt xy enthält.- Parameter:
- xy(float, float)
(x, y) Pixelpositionen von links/unten der Leinwand.
- Gibt zurück:
Axesoder NoneDie 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
inaxesdes Ereignisses auf die Achse gesetzt, über der das Ereignis auftritt, und zusätzlich werden die Variablenxdataundydataauf die Mausposition in Koordinaten der Daten gesetzt. Weitere Informationen finden Sie unterKeyEventundMouseEvent.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_disconnectverwendet 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_canvasneu.
- 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
Falseoder0zurü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
Axesax 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:
- cursor
Cursors Der über der Leinwand anzuzeigende Cursor. Hinweis: Einige Backends ändern möglicherweise den Cursor für das gesamte Fenster.
- cursor
- start_event_loop(timeout=0)[Quelle]#
Startet eine blockierende Ereignisschleife.
Eine solche Ereignisschleife wird von interaktiven Funktionen wie
ginputundwaitforbuttonpressverwendet, um auf Ereignisse zu warten.Die Ereignisschleife blockiert, bis eine Callback-Funktion
stop_event_loopauslö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_eventsordnungsgemäß 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_loopanzupassen.
- supports_blit = False#
- class matplotlib.backend_bases.FigureManagerBase(canvas, num)[Quelle]#
Bases:
objectEine 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_handleran 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
windowundtoolbar, die Zugriff auf die nativen GUI-Widgets des jeweiligen Frameworks bieten.- Attribute:
- canvas
FigureCanvasBase 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)
- canvas
- 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.
- classmethod pyplot_show(*, block=None)[Quelle]#
Zeigt alle Figuren an. Diese Methode ist die Implementierung von
pyplot.show.Um das Verhalten von
pyplot.showanzupassen, sollten interaktive Backends normalerweisestart_main_loopüberschreiben; wenn eine individuellere Logik erforderlich ist, kann auchpyplot_showüberschrieben werden.- Parameter:
- blockbool, optional
Ob blockiert werden soll, indem
start_main_loopaufgerufen wird. Der Standardwert None bedeutet zu blockieren, wenn wir uns weder im IPython '%pylab'-Modus noch im 'interactive'-Modus befinden.
- 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.showin eine Warnung umgewandelt.
- classmethod start_main_loop()[Quelle]#
Startet die Hauptereignisschleife.
Diese Methode wird von
FigureManagerBase.pyplot_showaufgerufen, welche die Implementierung vonpyplot.showist. Um das Verhalten vonpyplot.showanzupassen, sollten interaktive Backends normalerweisestart_main_loopüberschreiben; wenn eine individuellere Logik erforderlich ist, kann auchpyplot_showüberschrieben werden.
- class matplotlib.backend_bases.GraphicsContextBase[Quelle]#
Bases:
objectEine abstrakte Basisklasse, die Farben, Linienstile usw. bereitstellt.
- 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_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_dashes()[Quelle]#
Gibt den Dash-Stil als (Offset, Dash-Liste)-Paar zurück.
Siehe
set_dashesfü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_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
Nonezurückgeben, wenn keine Skizzenparameter gesetzt wurden.
- Tupel oder
- 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.
- 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 überschreibtalphadiese.
- 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:
- cs
CapStyleoder {'butt', 'projecting', 'round'}
- cs
- set_clip_path(path)[Quelle]#
Setzt den Clipping-Pfad auf einen
TransformedPathoder 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_joinstyle(js)[Quelle]#
Legt fest, wie Verbindungen zwischen Liniensegmenten gezeichnet werden.
- Parameter:
- js
JoinStyleoder {'miter', 'round', 'bevel'}
- js
- 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
Noneist 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.
- class matplotlib.backend_bases.KeyEvent(name, canvas, key, x=0, y=0, guiEvent=None)[Quelle]#
Basiert auf:
LocationEventEin Tastaturereignis (Tastendruck, Tastenfreigabe).
Ein KeyEvent hat zusätzlich zu den vom übergeordneten
EventundLocationEventKlassen 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:
EventEin Ereignis mit einem Bildschirmstandort.
Ein LocationEvent hat zusätzlich zu den vom übergeordneten
Eventdefinierten Attributen eine Reihe von Spezialattributen.- Attribute:
- x, yint oder None
Ereignisstandort in Pixeln vom unteren linken Rand der Canvas.
- inaxes
Axesoder 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.MouseEvent(name, canvas, x, y, button=None, key=None, step=0, dblclick=False, guiEvent=None, *, buttons=None, modifiers=None)[source]#
Basiert auf:
LocationEventEin Mausereignis ('button_press_event', 'button_release_event', 'scroll_event', 'motion_notify_event').
Ein MouseEvent hat zusätzlich zu den durch die übergeordneten Klassen
EventundLocationEventdefinierten Attributen eine Reihe von Sonderattributen.- Attribute:
- buttonNone oder
MouseButtonoder {'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
modifiersimmer 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.
- buttonNone oder
Beispiele
def on_press(event): print('you pressed', event.button, event.xdata, event.ydata) cid = fig.canvas.mpl_connect('button_press_event', on_press)
Bases:
objectBasisklasse 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 Methodenhome,back,forward,pan,zoomundsave_figureverbunden sind und Standard-Icons im Unterverzeichnis "images" des Datenpfads verwendet werden.Das ist alles, den Rest erledigen wir!
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.
Callback für das Ziehen im Pan/Zoom-Modus.
Callback für das Ziehen im Zoom-Modus.
Zeichnet ein Gummiband-Rechteck, um die Zoomgrenzen anzuzeigen.
Beachten Sie, dass nicht garantiert ist, dass
x0 <= x1undy0 <= y1.
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.
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.
Schaltet das Pan/Zoom-Werkzeug um.
Schwenken mit der linken Taste, Zoomen mit der rechten.
Callback für Maustasten-Druck im Pan/Zoom-Modus.
Callback für Maustasten-Druck im Zoom-zu-Rechteck-Modus.
Pusht die aktuellen Ansichtslimits und die Position auf den Stack.
Callback für das Loslassen der Maustaste im Pan/Zoom-Modus.
Callback für das Loslassen der Maustaste im Zoom-zu-Rechteck-Modus.
Entfernt das Gummiband.
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
Nonezurückgegeben.Wenn das Backend diese Funktionalität nicht implementiert, wird
NavigationToolbar2.UNKNOWN_SAVED_STATUSzurückgegeben.- Gibt zurück:
- str oder
NavigationToolbar2.UNKNOWN_SAVED_STATUSoderNone Der Dateipfad der gespeicherten Abbildung. Gibt
Nonezurück, wenn die Abbildung nicht gespeichert ist. GibtNavigationToolbar2.UNKNOWN_SAVED_STATUSzurück, wenn das Backend die Information nicht bereitstellt.
- str oder
Aktiviert oder deaktiviert die Schaltflächen Vor/Zurück.
Zeigt eine Nachricht auf der Werkzeugleiste oder in der Statusleiste an.
Setzt den Achsen-Stack zurück.
- exception matplotlib.backend_bases.NonGuiException[source]#
Bases:
ExceptionWird 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:
EventEin 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_pickerauswählbar gemacht wurde.Ein PickEvent hat zusätzlich zu den durch die übergeordnete Klasse
Eventdefinierten Attributen eine Reihe von Sonderattributen.- Attribute:
- mouseevent
MouseEvent Das Mausereignis, das den Pick ausgelöst hat.
- artist
Artist 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
Line2Dandere zusätzliche Attribute definieren als ein Pick einerPatchCollection.
- mouseevent
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:
objectEine 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_pathein 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:
- gc
GraphicsContextBase 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.
- transform
Transform Eine affine Transformation, die auf die Punkte angewendet werden soll.
- gc
- draw_image(gc, x, y, im, transform=None)[source]#
Zeichnet ein RGBA-Bild.
- Parameter:
- gc
GraphicsContextBase 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.
- transform
Affine2DBase Wenn und nur wenn das konkrete Backend so geschrieben ist, dass
option_scale_imageTruezurückgibt, *kann* eine affine Transformation (d. h. eineAffine2DBase) andraw_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).
- gc
- 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:
- gc
GraphicsContextBase Der Grafikkontext.
- marker_path
Path Der Pfad für die Markierung.
- marker_trans
Transform Eine affine Transformation, die auf die Markierung angewendet wird.
- path
Path Die Orte, an denen die Markierungen gezeichnet werden sollen.
- trans
Transform Eine affine Transformation, die auf den Pfad angewendet wird.
- rgbFacecolor, optional
- gc
- 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_pathdurch. 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_pathsund_iter_collectionwerden 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 vondraw_path_collectionglobal 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_collectionauf.
- draw_tex(gc, x, y, s, prop, angle, *, mtext=None)[Quelle]#
Zeichnet eine TeX-Instanz.
- Parameter:
- gc
GraphicsContextBase Der Grafikkontext.
- xfloat
Die x-Koordinate des Textes in Anzeigekoordinaten.
- yfloat
Die y-Koordinate der Textbasislinie in Anzeigekoordinaten.
- sstr
Der TeX-Textstring.
- prop
FontProperties Die Schrifteigenschaften.
- anglefloat
Der Rotationswinkel in Grad gegen den Uhrzeigersinn.
- mtext
Text Das ursprüngliche Textobjekt, das gerendert werden soll.
- gc
- draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None)[Quelle]#
Zeichnet eine Textinstanz.
- Parameter:
- gc
GraphicsContextBase Der Grafikkontext.
- xfloat
Die x-Koordinate des Textes in Anzeigekoordinaten.
- yfloat
Die y-Koordinate der Textbasislinie in Anzeigekoordinaten.
- sstr
Der Textstring.
- prop
FontProperties Die Schrifteigenschaften.
- anglefloat
Der Rotationswinkel in Grad gegen den Uhrzeigersinn.
- ismathbool oder "TeX"
Wenn True, verwende den mathtext-Parser.
- mtext
Text Das ursprüngliche Textobjekt, das gerendert werden soll.
- gc
Anmerkungen
Hinweise für Backend-Implementierer
RendererBase.draw_textunterstü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 vondraw_texbereitgestellt.
- 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
FontPropertiesprop zurück.Leerzeichen am Anfang und Ende von s sind in der gemeldeten Breite enthalten.
- new_gc()[Quelle]#
Gibt eine Instanz eines
GraphicsContextBasezurü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_imageunterstü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
MixedModeRendererverwendet.
- 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
MixedModeRendererverwendet.
- class matplotlib.backend_bases.ResizeEvent(name, canvas)[Quelle]#
Bases:
EventEin 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:
_BackendEinfache 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:
objectEine 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 dieTimer-Klasse selbst das Flag und die Methode_on_timersollte ü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.intervalgespeichert.- callbackslist[tuple[callable, tuple, dict]]
Liste von (func, args, kwargs) Tupeln, die bei Timer-Ereignissen aufgerufen werden. Diese Liste ist als
timer.callbackszugänglich und kann direkt manipuliert werden, oder die Funktionenadd_callbackundremove_callbackkö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, **kwargsnicht mehr berücksichtigt; um einen bestimmten Callback eigenständig entfernbar zu halten, übergeben Sie ihn alsfunctools.partialObjekt anadd_callback.
- property single_shot#
Ob dieser Timer nach einem einzelnen Lauf stoppen soll.
- class matplotlib.backend_bases.ToolContainerBase(toolmanager)[Quelle]#
Bases:
objectBasisklasse für alle Tool-Container, z.B. Werkzeugleisten.
- Attribute:
- toolmanager
ToolManager Die Werkzeuge, mit denen dieser
ToolContainerkommunizieren möchte.
- toolmanager
- 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_toolaufrufen.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
- 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
ToolManagereintool_removed_eventauslöst.Da einige Werkzeuge nur im
ToolManager, aber nicht imToolContainervorhanden 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_toolaufrufen.- 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_tooloderToolContainerBase.trigger_tool(die äquivalent sind) aufrufen.- Parameter:
- namestr
ID des zu schaltenden Werkzeugs.
- toggledbool
Ob dieses Werkzeug als umgeschaltet gesetzt werden soll oder nicht.
- 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 einMouseEventist.
- 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:
- event
KeyEvent Ein Tastendruck-/Tastendruck-Ereignis.
- canvas
FigureCanvasBase, Standard:event.canvas Die backend-spezifische Canvas-Instanz. Dieser Parameter wird aus Kompatibilitätsgründen beibehalten, sollte aber, wenn gesetzt, immer gleich
event.canvassein.- toolbar
NavigationToolbar2, Standard:event.canvas.toolbar Die Navigationscursor-Toolbar. Dieser Parameter wird aus Kompatibilitätsgründen beibehalten, sollte aber, wenn gesetzt, immer gleich
event.canvas.toolbarsein.
- event
- 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.