matplotlib
#
Eine objektorientierte Plotbibliothek.
Eine prozedurale Schnittstelle wird vom begleitenden Pyplot-Modul bereitgestellt, das direkt importiert werden kann, z.
import matplotlib.pyplot as plt
oder mit ipython:
ipython
an Ihrem Terminal, gefolgt von:
In [1]: %matplotlib
In [2]: import matplotlib.pyplot as plt
an der Eingabeaufforderung der ipython-Shell.
Zum größten Teil wird beim Programmieren die direkte Verwendung der expliziten objektorientierten Bibliothek empfohlen; Die implizite Pyplot-Schnittstelle dient hauptsächlich zum interaktiven Arbeiten. Die Ausnahmen von diesem Vorschlag sind die Pyplot-Funktionen pyplot.figure
, pyplot.subplot
, pyplot.subplots
und
pyplot.savefig
, die das Skripting erheblich vereinfachen können. Siehe
Matplotlib-Anwendungsschnittstellen (APIs) für eine Erläuterung der Kompromisse zwischen den impliziten und expliziten Schnittstellen.
Zu den Modulen gehören:
matplotlib.axes
Die
Axes
Klasse. Die meisten Pyplot-Funktionen sind Wrapper fürAxes
Methoden. Das Achsenmodul ist die höchste Ebene des OO-Zugriffs auf die Bibliothek.matplotlib.figure
Die
Figure
Klasse.matplotlib.artist
Die
Artist
Basisklasse für alle Klassen, die Dinge zeichnen.matplotlib.lines
Die
Line2D
Klasse zum Zeichnen von Linien und Markierungen.matplotlib.patches
Klassen zum Zeichnen von Polygonen.
matplotlib.text
Die
Text
undAnnotation
Klassen.matplotlib.image
Die
AxesImage
undFigureImage
Klassen.matplotlib.collections
Klassen zum effizienten Zeichnen von Gruppen von Linien oder Polygonen.
matplotlib.colors
Farbspezifikationen und Erstellen von Farbkarten.
matplotlib.cm
Colormaps und die
ScalarMappable
Mixin-Klasse zum Bereitstellen von Farbzuordnungsfunktionen für andere Klassen.matplotlib.ticker
Berechnung der Positionen von Teilstrichen und Formatierung von Teilstrichbeschriftungen.
matplotlib.backends
Ein Unterpaket mit Modulen für verschiedene GUI-Bibliotheken und Ausgabeformate.
Der Basis-Matplotlib-Namespace umfasst:
rcParams
Standardkonfigurationseinstellungen; Ihre Standardwerte können mit einer
matplotlibrc
Datei überschrieben werden.use
Einstellen des Matplotlib-Backends. Dies sollte aufgerufen werden, bevor eine Figur erstellt wird, da danach nicht mehr zwischen verschiedenen GUI-Backends gewechselt werden kann.
Matplotlib wurde ursprünglich von John D. Hunter (1968-2012) geschrieben und wird jetzt von einer Vielzahl anderer entwickelt und gepflegt.
Gelegentlich wird in der internen Dokumentation (Python-Docstrings) auf MATLAB® verwiesen, eine eingetragene Marke von The MathWorks, Inc.
Backend-Verwaltung #
- matplotlib. use ( backend , * , force = True ) [Quelle] #
Wählen Sie das für das Rendern und die GUI-Integration verwendete Backend aus.
- Parameter :
- Backend -Str
Das Back-End, zu dem gewechselt werden soll. Dies kann entweder einer der Standard-Backend-Namen sein, bei denen die Groß- und Kleinschreibung nicht beachtet wird:
interaktive Backends: GTK3Agg, GTK3Cairo, GTK4Agg, GTK4Cairo, MacOSX, nbAgg, QtAgg, QtCairo, TkAgg, TkCairo, WebAgg, WX, WXAgg, WXCairo, Qt5Agg, Qt5Cairo
nicht interaktive Backends: agg, cairo, pdf, pgf, ps, svg, template
oder eine Zeichenfolge der Form:
module://my.module.name
.Das Umschalten auf ein interaktives Backend ist nicht möglich, wenn bereits eine unabhängige Ereignisschleife gestartet wurde (z. B. Umschalten auf GTK3Agg, wenn bereits ein TkAgg-Fenster geöffnet wurde). Der Wechsel zu einem nicht interaktiven Backend ist jederzeit möglich.
- bool erzwingen , Standard: True
Wenn True (Standardeinstellung), lösen Sie ein aus,
ImportError
wenn das Backend nicht eingerichtet werden kann (entweder weil der Import fehlschlägt oder weil bereits ein inkompatibles interaktives GUI-Framework ausgeführt wird); Wenn False, ignorieren Sie den Fehler stillschweigend.
Siehe auch
- matplotlib. interaktiv ( b ) [Quelle] #
Legen Sie fest, ob nach jedem Plotbefehl neu gezeichnet werden soll (z . B.
pyplot.xlabel
).
- matplotlib. is_interactive ( ) [Quelle] #
Gibt zurück, ob nach jedem Zeichenbefehl neu gezeichnet werden soll.
Notiz
Diese Funktion ist nur für die Verwendung in Backends vorgesehen. Endbenutzer sollten
pyplot.isinteractive
stattdessen verwenden.
Standardwerte und Styling #
- matplotlib. rcParams [Quelle] #
Eine Instanz von
RcParams
zur Behandlung von Matplotlib-Standardwerten.
- Klasse matplotlib. RcParams ( * args , ** kwargs ) [Quelle] #
Ein Dictionary-Objekt mit Validierung.
Validierungsfunktionen werden definiert und mit rc-Parametern in verknüpft
matplotlib.rcsetup
.Die Liste der rcParams ist:
_internal.classic_mode
agg.path.chunksize
animation.bitrate
animation.codec
animation.convert_args
animation.convert_path
animation.embed_limit
animation.ffmpeg_args
animation.ffmpeg_path
animation.frame_format
animation.html
animation.writer
axis.autolimit_mode
Achsen.Achseunten
axis.edgecolor
Achsen.Gesichtsfarbe
Achsen.Formatierer.Grenzen
axis.formatter.min_exponent
axis.formatter.offset_threshold
axis.formatter.use_locale
axis.formatter.use_mathtext
axis.formatter.useoffset
Achsen.Gitter
Achsen.Gitterachse
Achsen.Gitter.welche
Achsen.Beschriftungsfarbe
Achsen.Etikettenblock
Achsen.Etikettengröße
Achsen.Etikettengewicht
Achsen.Linienbreite
Achsen.prop_cycle
Achsen.Stacheln.unten
Achsen.Stacheln.links
Achsen.Stacheln.rechts
Achsen.Stacheln.oben
Achsen.Titelfarbe
Achsen.Titelort
Achsen.Titelfeld
Achsen.Titelgröße
Achsen.Titelgewicht
Achsen.Titel
Achsen.unicode_minus
axis.xmargin
Achsen.ymargin
Achsen.zmargin
axis3d.grid
Backend
backend_fallback
boxplot.bootstrap
boxplot.boxprops.farbe
boxplot.boxprops.linestyle
boxplot.boxprops.linienbreite
boxplot.capprops.color
boxplot.capprops.linestyle
boxplot.capprops.linewidth
boxplot.flierprops.color
boxplot.flierprops.linestyle
boxplot.flierprops.linewidth
boxplot.flierprops.marker
boxplot.flierprops.markeredgecolor
boxplot.flierprops.markeredgewidth
boxplot.flierprops.markerfacecolor
boxplot.flierprops.markersize
Boxplot.Mittellinie
boxplot.meanprops.color
boxplot.meanprops.linestyle
boxplot.meanprops.linewidth
boxplot.meanprops.marker
boxplot.meanprops.markeredgecolor
boxplot.meanprops.markerfacecolor
boxplot.meanprops.markersize
boxplot.medianprops.color
boxplot.medianprops.linestyle
boxplot.medianprops.linienbreite
boxplot.notch
boxplot.patchartist
boxplot.showbox
boxplot.showcaps
boxplot.showflyers
boxplot.showmeans
boxplot.vertikal
boxplot.whiskerprops.color
boxplot.whiskerprops.linestyle
boxplot.whiskerprops.linienbreite
boxplot.whiskers
Kontur.Algorithmus
Kontur.Ecke_Maske
Kontur.Linienbreite
contour.negative_linestyle
date.autoformatter.day
date.autoformatter.hour
date.autoformatter.microsecond
date.autoformatter.minute
date.autoformatter.month
date.autoformatter.second
date.autoformatter.year
date.converter
Datum.Epoche
date.interval_multiples
docstring.Hardcopy
errorbar.capsize
figure.autolayout
figure.constrained_layout.h_pad
figure.constrained_layout.hspace
figure.constrained_layout.use
figure.constrained_layout.w_pad
figure.constrained_layout.wspace
Abbildung.dpi
figure.edgecolor
Figur.Gesichtsfarbe
figure.figsize
figure.frameon
figure.labelsize
figure.labelweight
figure.max_open_warning
figure.raise_window
Abbildung.Subplot.unten
figure.subplot.hspace
Abbildung.Subplot.links
Abbildung.Subplot.rechts
Abbildung.Subplot.oben
figure.subplot.wspace
figure.titlesize
figure.titleweight
font.cursive
Schriftfamilie
font.fantasy
font.monospace
font.sans-serif
Schriftart.serif
Schriftgröße
font.stretch
Schriftstil
Schriftart.Variante
Schriftart.Gewicht
Raster.alpha
grid.color
grid.linestyle
grid.linewidth
Schraffurfarbe
Schraffur.Linienbreite
hist.bins
image.aspekt
image.cmap
image.composite_image
image.interpolation
image.lut
image.origin
image.resample
interaktiv
keymap.zurück
keymap.kopieren
keymap.forward
keymap.fullscreen
keymap.grid
keymap.grid_minor
keymap.hilfe
keymap.home
keymap.pan
keymap.quit
keymap.quit_all
Tastaturbelegung.speichern
keymap.xscale
keymap.yscale
keymap.zoom
legend.borderaxespad
legend.borderpad
legend.columnspacing
legend.edgecolor
Legende.Gesichtsfarbe
legend.fancybox
Legende.Schriftgröße
legend.framealpha
legend.frameon
Legende.Griffhöhe
Legende.Grifflänge
legend.handletextpad
Legende.Labelfarbe
Legende.Beschriftungsabstand
Legende.loc
legend.markerscale
legend.numpoints
Legende.Streupunkte
Legende.Schatten
legend.title_fontsize
Linien.antialiased
Linien.Farbe
Linien.dash_capstyle
lines.dash_joinstyle
Linien.Strichpunkt_Muster
Linien.gestricheltes_Muster
Linien.dotted_pattern
Linien.Linienstil
Linien.Linienbreite
Linien.Marker
Linien.Markeredgecolor
Linien.MarkeredgeBreite
Linien.Markerfacecolor
Linien.Markergröße
Linien.Skala_Strichstriche
Linien.solid_capstyle
Linien.solid_joinstyle
markers.fillstyle
mathtext.bf
mathtext.cal
mathtext.default
mathtext.fallback
mathtext.fontset
mathtext.it
mathtext.rm
mathtext.sf
mathtext.tt
patch.antialiased
patch.edgecolor
patch.gesichtsfarbe
patch.force_edgecolor
patch.linewidth
Pfad.Effekte
Pfad.vereinfachen
path.simplify_threshold
path.sketch
path.snap
pcolor.shading
pcolormesh.snap
pdf.compression
pdf.fonttype
pdf.inheritcolor
pdf.use14corefonts
pgf.präambel
pgf.rcfonts
pgf.textsystem
polaraxes.grid
ps.distiller.res
ps.Schriftart
ps.Papiergröße
ps.useafm
ps.gebrauchte Brennerei
savefig.bbox
savefig.directory
savefig.dpi
savefig.edgecolor
savefig.facecolor
savefig.format
savefig.orientation
savefig.pad_inches
savefig.transparent
scatter.edgecolors
scatter.marker
svg.fonttype
svg.hashsalt
svg.image_inline
text.antialiased
Textfarbe
text.hinting
text.hinting_factor
text.kerning_factor
text.latex.präambel
text.parse_math
text.usetex
Zeitzone
tk.window_focus
Symbolleiste
webbagg.address
webagg.open_in_browser
webagg.port
webagg.port_retries
xaxis.labellocation
xtick.Ausrichtung
xtick.unten
xtick.farbe
xtick.Richtung
xtick.labelbottom
xtick.labelcolor
xtick.labelsize
xtick.labeltop
xtick.major.bottom
xtick.major.pad
xtick.major.size
xtick.major.top
xtick.major.width
xtick.minor.unten
xtick.minor.pad
xtick.minor.size
xtick.minor.top
xtick.minor.sichtbar
xtick.minor.width
xtick.top
yaxis.labellocation
ytick.Ausrichtung
ytick.farbe
ytick.Richtung
ytick.labelcolor
ytick.labellinks
ytick.labelright
ytick.labelsize
ytick.links
ytick.major.links
ytick.major.pad
ytick.major.right
ytick.major.size
ytick.major.width
ytick.minor.links
ytick.minor.pad
ytick.minor.right
ytick.minor.size
ytick.gering.sichtbar
ytick.minor.width
ytick.richtig
Siehe auch
- find_all ( Muster ) [Quelle] #
Gibt die Teilmenge dieses RcParams-Wörterbuchs zurück, deren Schlüssel übereinstimmen, indem
re.search()
das angegebene verwendet wirdpattern
.Notiz
Änderungen am zurückgegebenen Wörterbuch werden nicht an das übergeordnete RcParams-Wörterbuch weitergegeben.
- matplotlib. rc_context ( rc = None , fname = None ) [Quelle] #
Gibt einen Kontextmanager zum vorübergehenden Ändern von rcParams zurück.
Die
rcParams["backend"]
werden vom Kontextmanager nicht zurückgesetzt.- Parameter :
- rc dict
Die rcParams, die vorübergehend festgelegt werden sollen.
- fname str oder pfadartig
Eine Datei mit Matplotlib-RC-Einstellungen. Wenn sowohl fname als auch rc angegeben sind, haben die Einstellungen von rc Vorrang.
Siehe auch
Beispiele
Explizite Werte über ein Dikt übergeben:
with mpl.rc_context({'interactive': False}): fig, ax = plt.subplots() ax.plot(range(3), range(3)) fig.savefig('example.png') plt.close(fig)
Einstellungen aus einer Datei laden:
with mpl.rc_context(fname='print.rc'): plt.plot(x, y) # uses 'print.rc'
- matplotlib. rc ( Gruppe , ** kwargs ) [Quelle] #
Stellen Sie den Strom ein
rcParams
. group ist die Gruppierung für den rc, z. B. fürlines.linewidth
die Gruppe istlines
, füraxes.facecolor
, die Gruppe istaxes
, und so weiter. Gruppe kann auch eine Liste oder ein Tupel von Gruppennamen sein, zB ( xtick , ytick ). kwargs ist ein Name/Wert-Paar eines Wörterbuchattributs, z. B.:rc('lines', linewidth=2, color='r')
setzt den Strom
rcParams
und ist äquivalent zu:rcParams['lines.linewidth'] = 2 rcParams['lines.color'] = 'r'
Um interaktiven Benutzern das Tippen zu ersparen, stehen folgende Aliase zur Verfügung:
Alias
Eigentum
'lw'
'Linienbreite'
'ls'
'Linienstil'
'c'
'Farbe'
'fc'
'Gesichtsfarbe'
'ec'
'Kantenfarbe'
'miauen'
'markeredgewidth'
'aa'
'antialiased'
Somit könnte man den obigen Aufruf abkürzen als:
rc('lines', lw=2, c='r')
Beachten Sie, dass Sie die kwargs-Wörterbuchfunktion von Python verwenden können, um Wörterbücher mit Standardparametern zu speichern. Beispielsweise können Sie die Schriftart rc wie folgt anpassen:
font = {'family' : 'monospace', 'weight' : 'bold', 'size' : 'larger'} rc('font', **font) # pass in the font dict as kwargs
So können Sie bequem zwischen mehreren Konfigurationen wechseln. Verwenden Sie
matplotlib.style.use('default')
oderrcdefaults()
, um die StandardeinstellungrcParams
nach Änderungen wiederherzustellen.Anmerkungen
Eine ähnliche Funktionalität ist über die normale Diktierschnittstelle verfügbar, dh ( unterstützt jedoch keine Abkürzungen oder Gruppierungen).
rcParams.update({"lines.linewidth": 2, ...})
rcParams.update
- matplotlib. rcdefaults ( ) [Quelle] #
Stellen
rcParams
Sie den internen Standardstil von Matplotlib wieder her.Styles auf der schwarzen Liste
rcParams
(definiert inmatplotlib.style.core.STYLE_BLACKLIST
) werden nicht aktualisiert.Siehe auch
matplotlib.rc_file_defaults
Stellen Sie die
rcParams
aus der rc-Datei wieder her, die ursprünglich von Matplotlib geladen wurde.matplotlib.style.use
Verwenden Sie eine bestimmte Stildatei. Rufen Sie
style.use('default')
auf, um den Standardstil wiederherzustellen.
- matplotlib. rc_file_defaults ( ) [Quelle] #
Stellen Sie die
rcParams
aus der ursprünglichen rc-Datei wieder her, die von Matplotlib geladen wurde.Styles auf der schwarzen Liste
rcParams
(definiert inmatplotlib.style.core.STYLE_BLACKLIST
) werden nicht aktualisiert.
- matplotlib. rc_file ( fname , * , use_default_template = True ) [Quelle] #
Update
rcParams
aus Datei.Styles auf der schwarzen Liste
rcParams
(definiert inmatplotlib.style.core.STYLE_BLACKLIST
) werden nicht aktualisiert.- Parameter :
- fname str oder pfadartig
Eine Datei mit Matplotlib-RC-Einstellungen.
- use_default_template bool
Wenn True, mit Standardparametern initialisieren, bevor mit denen in der angegebenen Datei aktualisiert wird. Bei False bleibt die aktuelle Konfiguration bestehen und nur die in der Datei angegebenen Parameter werden aktualisiert.
- matplotlib. rc_params ( fail_on_error = False ) [Quelle] #
Erstellen Sie eine
RcParams
Instanz aus der standardmäßigen Matplotlib-RC-Datei.
- matplotlib. rc_params_from_file ( fname , fail_on_error = False , use_default_template = True ) [Quelle] #
Erstellen Sie eine
RcParams
aus der Datei fname .- Parameter :
- fname str oder pfadartig
Eine Datei mit Matplotlib-RC-Einstellungen.
- fail_on_error bool
Bei True wird ein Fehler ausgelöst, wenn der Parser einen Parameter nicht konvertieren kann.
- use_default_template bool
Wenn True, mit Standardparametern initialisieren, bevor mit denen in der angegebenen Datei aktualisiert wird. Bei False enthält die Konfigurationsklasse nur die in der Datei angegebenen Parameter. (Nützlich zum Aktualisieren von Diktaten.)
- matplotlib. get_configdir ( ) [Quelle] #
Gibt den Zeichenfolgenpfad des Konfigurationsverzeichnisses zurück.
Das Verzeichnis wird wie folgt gewählt:
Wenn die Umgebungsvariable MPLCONFIGDIR bereitgestellt wird, wählen Sie diese aus.
Befolgen Sie unter Linux die XDG-Spezifikation und suchen Sie zuerst in
$XDG_CONFIG_HOME
, falls definiert, oder$HOME/.config
. Wählen Sie auf anderen Plattformen$HOME/.matplotlib
.Wenn das ausgewählte Verzeichnis existiert und beschreibbar ist, verwenden Sie es als Konfigurationsverzeichnis.
Andernfalls erstellen Sie ein temporäres Verzeichnis und verwenden es als Konfigurationsverzeichnis.
- matplotlib. matplotlib_fname ( ) [Quelle] #
Rufen Sie den Speicherort der Konfigurationsdatei ab.
Der Dateispeicherort wird in der folgenden Reihenfolge bestimmt
$PWD/matplotlibrc
$MATPLOTLIBRC
wenn es kein Verzeichnis ist$MATPLOTLIBRC/matplotlibrc
$MPLCONFIGDIR/matplotlibrc
- Unter Linux,
$XDG_CONFIG_HOME/matplotlib/matplotlibrc
(falls$XDG_CONFIG_HOME
definiert)oder
$HOME/.config/matplotlib/matplotlibrc
(falls$XDG_CONFIG_HOME
nicht definiert)
Auf anderen Plattformen -
$HOME/.matplotlib/matplotlibrc
wenn$HOME
definiert istZuletzt sucht es in
$MATPLOTLIBDATA/matplotlibrc
, das immer vorhanden sein sollte.
Protokollierung #
- matplotlib. set_loglevel ( level ) [Quelle] #
Legen Sie die Root-Logger- und Root-Logger-Handler-Ebene von Matplotlib fest und erstellen Sie den Handler, wenn er noch nicht existiert.
Typischerweise sollte man
set_loglevel("info")
oder anrufenset_loglevel("debug")
, um zusätzliche Debugging-Informationen zu erhalten.- Parameter :
- level {"notset", "debug", "info", "warning", "error", "critical"}
Die Protokollebene des Handlers.
Anmerkungen
Beim ersten Aufruf dieser Funktion wird ein zusätzlicher Handler an den Root-Handler von Matplotlib angehängt; Dieser Handler wird jedes Mal wiederverwendet und diese Funktion manipuliert einfach die Ebene des Protokollierers und des Handlers.
Farbtabellen und Farbsequenzen #
- matplotlib. Farbkarten [Quelle] #
Container für Colormaps, die Matplotlib namentlich bekannt sind.
Experimental
Obwohl wir davon ausgehen, dass die API endgültig ist, markieren wir sie formell als experimentell für 3.5, weil wir uns die Option behalten wollen, die API für 3.6 bei Bedarf noch anzupassen.
Die universelle Registrierungsinstanz ist
matplotlib.colormaps
. Benutzer sollten sich nicht selbst instanziierenColormapRegistry
müssen.Der Lesezugriff verwendet eine dict-ähnliche Schnittstelle, die Namen auf
Colormap
s abbildet:import matplotlib as mpl cmap = mpl.colormaps['viridis']
Zurückgegebene
Colormap
s sind Kopien, sodass ihre Änderung die globale Definition der Farbtabelle nicht ändert.Zusätzliche Farbkarten können hinzugefügt werden über
ColormapRegistry.register
:mpl.colormaps.register(my_colormap)
- matplotlib. Farbsequenzen [Quelle] #
Container für Farbfolgen, die Matplotlib namentlich bekannt sind.
Die universelle Registrierungsinstanz ist
matplotlib.color_sequences
. Benutzer sollten sich nicht selbst instanziierenColorSequenceRegistry
müssen.Der Lesezugriff verwendet eine dict-ähnliche Schnittstelle, die Namen auf Farblisten abbildet:
import matplotlib as mpl cmap = mpl.color_sequences['tab10']
Die zurückgegebenen Listen sind Kopien, so dass ihre Modifikation die globale Definition der Farbreihenfolge nicht ändert.
Zusätzliche Farbsequenzen können hinzugefügt werden über
ColorSequenceRegistry.register
:mpl.color_sequences.register('rgb', ['r', 'g', 'b'])