Matplotlib-Referenzdokumentation
Matplotlib ist die am weitesten verbreitete Bibliothek zur Datenvisualisierung in Python und unterstützt die Erstellung statischer, animierter und interaktiver Diagramme.
Dieses Dokument organisiert umfassend die Funktionen und Methoden aller öffentlichen Schnittstellen in Matplotlib und ermöglicht ein schnelles Nachschlagen ihrer Funktionalität und Verwendung.
Zwei wesentliche Programmierschnittstellen
Matplotlib bietet zwei Verwendungsstile, die für unterschiedliche Szenarien geeignet sind.
| Merkmal | Axes-Schnittstelle (explizit/objektorientiert) | pyplot-Schnittstelle (implizit/funktional) |
|---|---|---|
| Nutzung | Zuerst Figure- und Axes-Objekte erstellen, dann ihre Methoden aufrufen | pyplot-Modulfunktionen direkt aufrufen, um implizit mit der aktuellen Figure zu arbeiten |
| Geeignete Szenarien | Komplexe Diagramme, mehrere Subplots, feingranulare Steuerung erforderlich | Schnelles Plotten, interaktive Erkundung, einfache Diagramme |
| Codebeispiel | fig, ax = plt.subplots(); ax.plot(x, y) | plt.plot(x, y); plt.title("Title") |
| Empfehlungsstufe | Empfohlen(Klarer und besser kontrollierbar) | Geeignet für einfache Szenarien und schnelles Prototyping |
Die Axes-Schnittstelle ist der offiziell empfohlene Programmierstil. Ihre Codelogik ist klarer und weniger fehleranfällig beim Umgang mit mehreren Subplots und komplexen Diagrammen. Zur schnellen Referenz sind im Folgenden sowohl pyplot-Funktionen als auch ihre entsprechenden Axes-Methoden aufgeführt.
| Funktion | Verwandte Inhalte |
|---|---|
| Matplotlib-Funktion plot() | plot() |
| Matplotlib-Funktion scatter() | scatter() |
| Matplotlib-Funktion bar() / barh() | bar(), barh(), bar_label(), grouped_bar() |
| Matplotlib-Funktion hist() | hist() |
| Matplotlib pie()-Funktion | pie(), pie_label() |
| Matplotlib imshow()-Funktion | imshow() |
| Matplotlib subplots()-Funktion | subplots() |
| Matplotlib figure()-Funktion | figure() |
| Matplotlib savefig()-Funktion | savefig() |
| Matplotlib errorbar()-Funktion | errorbar() |
| Matplotlib boxplot()-Funktion | boxplot() |
| Matplotlib contour() / contourf()-Funktion | contour(), contourf(), clabel() |
| Matplotlib fill_between() / fill_betweenx()-Funktion | fill_between(), fill_betweenx() |
| Matplotlib legend()-Funktion | legend() |
| Matplotlib text() / annotate()-Funktion | text(), annotate() |
| Matplotlib Titel- und Beschriftungsfunktionen | title(), xlabel(), ylabel(), suptitle(), supxlabel(), supylabel() |
| Matplotlib-Funktion colorbar() | colorbar() |
| Matplotlib-Funktionen zur Verwaltung von Figuren und Achsen | axes(), cla(), clf(), close(), delaxes(), fignum_exists(), gca(), gcf(), get_figlabels(), get_fignums(), sca(), subplot(), subplot2grid(), subplot_mosaic(), twinx(), twiny() |
| Erweiterte Matplotlib-Plot-Funktionen | step(), stem(), eventplot(), stackplot(), broken_barh(), vlines(), hlines(), fill(), loglog(), semilogx(), semilogy() |
| Matplotlib-Funktionen für Bereiche und Vektorfelder | axhline(), axhspan(), axvline(), axvspan(), axline(), quiver(), quiverkey(), barbs(), streamplot() |
| Matplotlib-Funktionen zur Spektralanalyse | acorr(), xcorr(), psd(), csd(), specgram(), cohere(), angle_spectrum(), magnitude_spectrum(), phase_spectrum() |
| Matplotlib-Funktionen für 2D-Daten und statistische Diagramme | hist2d(), hexbin(), stairs(), matshow(), pcolor(), pcolormesh(), spy(), figimage(), ecdf(), violinplot() |
| Matplotlib-Funktionen für Triangulation und Polarkoordinaten | triplot(), tripcolor(), tricontour(), tricontourf(), polar(), rgrids(), thetagrids() |
| Matplotlib-Funktionen zur Achsenkonfiguration | xlim(), ylim(), xscale(), yscale(), xticks(), yticks(), tick_params(), ticklabel_format(), locator_params(), minorticks_on(), minorticks_off(), grid(), axis(), box(), autoscale() |
| Matplotlib-Funktionen für Layout und Konfiguration | subplots_adjust(), tight_layout(), margins(), subplot_tool(), rc(), rc_context(), rcdefaults(), clim(), get_cmap(), set_cmap(), gci(), sci(), imread(), imsave(), draw(), ion(), ioff(), pause(), switch_backend(), show(), isinteractive(), install_repl_displayhook(), uninstall_repl_displayhook(), draw_if_interactive() |
| Matplotlib-Hilfs- und Interaktionsfunktionen | connect(), disconnect(), ginput(), waitforbuttonpress(), findobj(), get(), setp(), getp(), get_current_fig_manager(), new_figure_manager(), set_loglevel(), xkcd() |
| Matplotlib-Funktionen für Text und Annotationen auf Figure-Ebene | figtext(), figlegend(), table(), arrow() |
pyplot-Modul - Vollständige Funktionsliste
pyplot ist die oberste Schnittstelle von Matplotlib und bietet ein MATLAB-ähnliches Plot-Erlebnis. Nachfolgend sind alle Funktionen gemäß der offiziellen Kategorisierung aufgelistet.
1. Figure- und Achsenverwaltung
Funktionen zum Erstellen und Verwalten von Figuren (Leinwand) und Axes (Koordinatensysteme/Subplots).
| Funktion | Beschreibung |
|---|---|
| figure() | ⟦⟧Eine neue Figur erstellen oder eine vorhandene Figur aktivieren |
| subplots() | RecommendedEine Figur und eine Reihe von Axes-Subplots erstellen |
| subplot() | Einen einzelnen Subplot zur aktuellen Figur hinzufügen (nach Zeilen- und Spaltenindex) |
| subplot2grid() | Einen Subplot an einer angegebenen Position in einem Rasterlayout erstellen |
| subplot_mosaic() | Komplexe ungleichmäßige Layouts mithilfe von Label-Zeichenfolgen erstellen |
| axes() | Ein Axes-Objekt zur aktuellen Figur hinzufügen |
| gca() | Aktuelles Axes-Objekt abrufen |
| gcf() | Aktuelles Figure-Objekt abrufen |
| sca() | Aktuelle Axes festlegen |
| cla() | Aktuelle Axes löschen |
| clf() | Aktuelle Figure löschen |
| close() | Figure-Fenster schließen |
| delaxes() | Ein angegebenes Axes aus der Figure entfernen |
| fignum_exists() | Prüft, ob eine Figure mit der angegebenen Nummer existiert |
| get_figlabels() | Gibt die Liste der Labels aller Figuren zurück |
| get_fignums() | Gibt die Liste der Nummern aller Figuren zurück |
| twinx() | Erstellt duale y-Achsen, die sich die x-Achse teilen |
| twiny() | Erstellt duale x-Achsen, die sich die y-Achse teilen |
2. Grundlegendes Plotten
Die am häufigsten verwendeten Plotfunktionen für Diagrammtypen.
| Funktion | Beschreibung |
|---|---|
| plot() | Zeichne ein Liniendiagramm (am häufigsten verwendet) |
| scatter() | Zeichne ein Streudiagramm, das Größen-/Farb-/Alpha-Zuordnung unterstützt |
| bar() | Zeichne ein vertikales Balkendiagramm |
| barh() | Zeichne ein horizontales Balkendiagramm |
| bar_label() | Füge numerische Beschriftungen auf den Balken eines Balkendiagramms hinzu |
| grouped_bar() | Zeichne ein gruppiertes Balkendiagramm |
| pie() | Zeichne ein Kreisdiagramm |
| pie_label() | Beschriftungen zu einem Kreisdiagramm hinzufügen |
| stem() | Ein Stem-Plot (Streichholzdiagramm) zeichnen |
| eventplot() | Ein Event-Plot zeichnen (mehrere horizontale Linien, die Ereignispositionen markieren) |
| step() | Ein Stufendiagramm zeichnen |
| fill() | Ein gefülltes Polygon zeichnen |
| fill_between() | Die Fläche zwischen zwei horizontalen Kurven füllen |
| fill_betweenx() | Fläche zwischen zwei vertikalen Kurven füllen |
| stackplot() | Ein gestapeltes Flächendiagramm zeichnen |
| broken_barh() | Ein horizontales gebrochenes Balkendiagramm zeichnen (Gantt-Diagramm-Stil) |
| vlines() | Eine vertikale Referenzlinie zeichnen |
| hlines() | Eine horizontale Referenzlinie zeichnen |
| errorbar() | Ein Liniendiagramm mit Fehlerbalken zeichnen |
| loglog() | Log-log-Liniendiagramm |
| semilogx() | Liniendiagramm mit logarithmischer x-Achse |
| semilogy() | Liniendiagramm mit logarithmischer y-Achse |
| polar() | Diagramm in Polarkoordinaten |
3. Bereiche
Horizontale und vertikale Referenzlinien und schattierte Bereiche zeichnen.
| Funktion | Beschreibung |
|---|---|
| axhline() | Fügt eine horizontale Linie hinzu, die den gesamten Axes-Bereich überspannt |
| axhspan() | Fügt ein horizontales schattiertes Band hinzu, das den gesamten Axes-Bereich überspannt |
| axvline() | Fügt eine vertikale Linie hinzu, die die gesamten Axes überspannt |
| axvspan() | Fügt ein vertikales schattiertes Band hinzu, das die gesamten Axes überspannt |
| axline() | Fügt eine unendliche Linie hinzu, die durch zwei Punkte verläuft |
4. Spektralanalyse
Funktionen für Signalverarbeitung und spektrale Visualisierung.
| Funktion | Beschreibung |
|---|---|
| acorr() | Autokorrelation darstellen |
| xcorr() | Kreuzkorrelation darstellen |
| angle_spectrum() | Winkelspektrum darstellen |
| magnitude_spectrum() | Betragsspektrum darstellen |
| phase_spectrum() | Phasenspektrum darstellen |
| psd() | Leistungsdichtespektrum darstellen |
| csd() | Kreuzspektraldichte darstellen |
| cohere() | Kohärenz darstellen |
| specgram() | Spektrogramm darstellen (Zeit-Frequenz-Diagramm) |
5. Statistische Diagramme
Diagramme zu statistischen Verteilungen darstellen.
| Funktion | Beschreibung |
|---|---|
| boxplot() | Boxplot zeichnen |
| violinplot() | Violinplot zeichnen |
| ecdf() | Empirische kumulative Verteilungsfunktion (ECDF) zeichnen |
6. Binning und Histogramme
| Funktion | Beschreibung |
|---|---|
| hist() | Eindimensionales Histogramm zeichnen |
| hist2d() | Zweidimensionales Histogramm zeichnen |
| hexbin() | Hexbin-Diagramm zeichnen |
| stairs() | Treppenhistogramm zeichnen (neue Version, ersetzt den step-Modus von hist) |
7. Konturen
| Funktion | Beschreibung |
|---|---|
| contour() | Konturlinien zeichnen |
| contourf() | Gefüllte Konturen zeichnen |
| clabel() | Beschriftungen zu Konturen hinzufügen |
8. 2D-Arrays und Bilder
Visualisierungsfunktionen zur Anzeige von 2D-Daten, Matrizen und Bildern.
| Funktion | Beschreibung |
|---|---|
| imshow() | Ein Bild oder 2D-Array anzeigen (Heatmap) |
| matshow() | Eine Matrix als Bild in einer neuen Abbildung anzeigen |
| pcolor() | Pseudofarben-Gitter zeichnen (erzeugt PolyCollection) |
| pcolormesh() | Pseudofarben-Gitter zeichnen (erzeugt QuadMesh, bessere Leistung) |
| spy() | Das Muster der von Null verschiedenen Elemente einer dünnbesetzten Matrix zeichnen |
| figimage() | Platzieren Sie ein Bild auf Figure-Ebene (nicht auf Axes-Ebene) |
9. Unstrukturierte Dreiecksgitter
| Funktion | Beschreibung |
|---|---|
| triplot() | Unstrukturiertes Dreiecksgitter zeichnen |
| tripcolor() | Pseudofarb-Plot auf Dreiecksgitter zeichnen |
| tricontour() | Konturlinien auf Dreiecksgitter zeichnen |
| tricontourf() | Gefüllte Konturen auf Dreiecksgitter zeichnen |
10. Text und Annotationen
| Funktion | Beschreibung |
|---|---|
| text() | Text an angegebenen Koordinaten in Axes hinzufügen |
| figtext() | Text an einer angegebenen Position in Figure hinzufügen |
| annotate() | Annotation mit einem Pfeil hinzufügen |
| arrow() | Einen Pfeil hinzufügen |
| legend() | Eine Legende in Axes hinzufügen |
| figlegend() | Eine Legende auf Figure-Ebene hinzufügen |
| table() | Eine Tabelle in Axes hinzufügen |
11. Vektorfelder
| Funktion | Beschreibung |
|---|---|
| quiver() | Vektorfeld zeichnen (Quiver-Plot) |
| quiverkey() | Einen Legendenschlüssel zu einem Vektorfeld hinzufügen |
| barbs() | Barb-Plot zeichnen (gibt Windgeschwindigkeit und -richtung in der Meteorologie an) |
| streamplot() | Stromlinien-Plot zeichnen |
12. Achsenkonfiguration
Funktionen zum Festlegen von Achsengrenzen, Ticks, Beschriftungen und Skalen.
| Funktion | Beschreibung |
|---|---|
| title() | Achsentitel festlegen |
| suptitle() | Gesamttitel der Abbildung festlegen |
| xlabel() | Beschriftung der x-Achse festlegen |
| ylabel() | Beschriftung der y-Achse festlegen |
| xlim() | Bereich der x-Achse abrufen oder festlegen |
| ylim() | Bereich der y-Achse abrufen oder festlegen |
| xscale() | Skalierung der x-Achse festlegen (linear/log/symlog/logit...) |
| yscale() | Skalierung der y-Achse festlegen (linear/log/symlog/logit...) |
| xticks() | Tick-Positionen und -Beschriftungen der x-Achse abrufen oder festlegen |
| yticks() | Tick-Positionen und -Beschriftungen der y-Achse abrufen oder festlegen |
| tick_params() | Aussehen der Ticks anpassen (Richtung, Farbe, Größe, Beschriftungsrotation usw.) |
| ticklabel_format() | Format der Tick-Beschriftungen festlegen (wissenschaftliche Notation usw.) |
| locator_params() | Parameter des Tick-Locators steuern |
| minorticks_on() | Minor-Ticks anzeigen |
| minorticks_off() | Minor-Ticks ausblenden |
| rgrids() | Radiale Gitterlinien eines Polardiagramms abrufen oder festlegen |
| thetagrids() | Winkel-Gitterlinien eines Polardiagramms abrufen oder festlegen |
| grid() | Gitterlinien ein- oder ausschalten |
| axis() | Komfortfunktion zum Abrufen oder Festlegen bestimmter Achseneigenschaften |
| box() | Axes-Spines ein- oder ausschalten |
| autoscale() | Die Achsen automatisch an die Daten anpassen |
13. Layout
Funktionen zur Steuerung der Anordnung und Abstände von Subplots.
| Funktion | Beschreibung |
|---|---|
| subplots_adjust() | Subplot-Abstände manuell anpassen (left/right/top/bottom/wspace/hspace) |
| tight_layout() | Subplot-Parameter automatisch anpassen, um ein kompaktes Layout zu erzeugen |
| margins() | Die Datenränder der Achsen festlegen oder abrufen |
| subplot_tool() | Das interaktive Fenster zum Anpassen von Subplots starten |
14. Colormap
Funktionen im Zusammenhang mit Colormaps und Farbskalen.
| Funktion | Beschreibung |
|---|---|
| colorbar() | Eine Farbskala hinzufügen |
| clim() | Den Datenbereich der Colormap festlegen |
| get_cmap() | Ein Colormap-Objekt über den angegebenen Namen abrufen |
| set_cmap() | Die Standard-Colormap festlegen |
| gci() | Das aktuelle Colormap-fähige Bildobjekt abrufen |
| sci() | Legt das aktuelle farbzuzuordnende Bildobjekt fest |
| imread() | Liest ein Bild aus einer Datei in ein Array ein |
| imsave() | Speichert ein Array als Bilddatei |
| colormaps | Colormap-Registrierungsobjekt |
| color_sequences | Farbsequenz-Registrierungsobjekt |
15. Konfiguration
Funktionen zur Verwaltung globaler Konfigurationsparameter von Matplotlib.
| Funktion | Beschreibung |
|---|---|
| rc() | rc-Parameter festlegen (können stapelweise festgelegt werden) |
| rc_context() | Kontextmanager zum vorübergehenden Festlegen von rc-Parametern |
| rcdefaults() | Alle rc-Parameter auf Standardwerte zurücksetzen |
16. Ausgabe und Interaktion
Funktionen zur Steuerung der Anzeige von Abbildungen, des Speicherns und der Interaktionsmodi.
| Funktion | Beschreibung |
|---|---|
| show() | Alle geöffneten Abbildungen anzeigen |
| savefig() | Aktuelle Abbildung in einer Datei speichern |
| draw() | Erneutes Rendern der aktuellen Abbildung erzwingen |
| draw_if_interactive() | Die Figure rendern, wenn der interaktive Modus aktiv ist |
| pause() | Für die angegebene Anzahl an Sekunden pausieren (dabei Ereignisse verarbeiten) |
| ion() | Interaktiven Modus einschalten |
| ioff() | Interaktiven Modus ausschalten |
| isinteractive() | Zurückgeben, ob der interaktive Modus derzeit aktiv ist |
| install_repl_displayhook() | Einen REPL-Display-Hook installieren (damit Figures automatisch angezeigt werden) |
| uninstall_repl_displayhook() | REPL-Anzeige-Hook deinstallieren |
| switch_backend() | Backend wechseln |
17. Andere Hilfsfunktionen
| Funktion | Beschreibung |
|---|---|
| connect() | Eine Ereignis-Callback-Funktion binden |
| disconnect() | Eine Ereignis-Callback-Funktion lösen |
| ginput() | Koordinatenpunkte durch Mausklicks abrufen |
| waitforbuttonpress() | Auf einen Maus- oder Tastendruck warten und den Ereignistyp zurückgeben |
| findobj() | Findet Artist-Objekte, die die angegebene Bedingung erfüllen |
| get() | Ruft den Eigenschaftswert eines Artist-Objekts ab |
| getp() | Ruft die Eigenschaften eines Artist-Objekts ab (Alias für get) |
| setp() | Legt die Eigenschaften eines Artist-Objekts fest |
| get_current_fig_manager() | Ruft den Fenstermanager der aktuellen Figure ab |
| new_figure_manager() | Erstellt einen neuen Figure-Manager für die angegebene Figure |
| set_loglevel() | Matplotlib-Logging-Level festlegen |
| xkcd() | Zum xkcd-Stil (handgezeichneter Comic) wechseln |
Axes-Objekt – Vollständige Methodenliste
Axes (Axes-Objekt) repräsentiert ein Subplot innerhalb einer Figure und enthält Daten, Ticks, Beschriftungen, Titel usw. Nachfolgend finden Sie eine vollständige Liste aller Methoden, organisiert nach offiziellen Kategorien.
1. Grundlegende Plot-Methoden
| Methode | Beschreibung |
|---|---|
| Axes.plot() | Liniendiagramm |
| Axes.scatter() | Streudiagramm |
| Axes.bar() | Vertikales Balkendiagramm |
| Axes.barh() | Horizontales Balkendiagramm |
| Axes.bar_label() | Wertbeschriftungen auf Balken hinzufügen |
| Axes.grouped_bar() | Gruppiertes Balkendiagramm |
| Axes.pie() | Kreisdiagramm |
| Axes.pie_label() | Beschriftungen des Kreisdiagramms |
| Axes.stem() | Stem-Plot |
| Axes.eventplot() | Ereignisdiagramm |
| Axes.step() | Stufendiagramm |
| Axes.fill() | Gefülltes Polygon |
| Axes.fill_between() | Horizontal gefüllter Bereich |
| Axes.fill_betweenx() | Vertikal gefüllter Bereich |
| Axes.stackplot() | Gestapeltes Flächendiagramm |
| Axes.broken_barh() | Horizontales gebrochenes Balkendiagramm |
| Axes.vlines() | Vertikale Referenzlinie |
| Axes.hlines() | Horizontale Referenzlinie |
| Axes.errorbar() | Liniendiagramm mit Fehlerbalken |
| Axes.loglog() | Log-log-Skala |
| Axes.semilogx() | Logarithmische x-Achse |
| Axes.semilogy() | y-Achse logarithmische Skala |
2. Span-Methoden
| Methode | Beschreibung |
|---|---|
| Axes.axhline() | Horizontale Referenzlinie |
| Axes.axvline() | Vertikale Referenzlinie |
| Axes.axhspan() | Horizontaler schattierter Bereich |
| Axes.axvspan() | Vertikaler schattierter Bereich |
| Axes.axline() | Unendliche Linie durch zwei Punkte |
3. Methoden der Spektralanalyse
| Methode | Beschreibung |
|---|---|
| Axes.acorr() | Autokorrelationsdiagramm |
| Axes.xcorr() | Kreuzkorrelationsdiagramm |
| Axes.angle_spectrum() | Winkelspektrum |
| Axes.magnitude_spectrum() | Betragsspektrum |
| Axes.phase_spectrum() | Phasenspektrum |
| Axes.psd() | Leistungsspektraldichte |
| Axes.csd() | Kreuzspektraldichte |
| Axes.cohere() | Kohärenz |
| Axes.specgram() | Spektrogramm (Zeit-Frequenz-Diagramm) |
4. Statistische Methoden
| Methode | Beschreibung |
|---|---|
| Axes.boxplot() | Boxplot |
| Axes.bxp() | Boxplot aus vorberechneten Statistiken zeichnen |
| Axes.violinplot() | Violinendiagramm |
| Axes.violin() | Violinendiagramm aus vorberechneten Statistiken zeichnen |
| Axes.ecdf() | Empirische kumulative Verteilungsfunktion |
5. Binning- und Histogramm-Methoden
| Methode | Beschreibung |
|---|---|
| Axes.hist() | Histogramm |
| Axes.hist2d() | 2D-Histogramm |
| Axes.hexbin() | Hexagonales Binning-Diagramm |
| Axes.stairs() | Stufenhistogramm |
6. Konturmethoden
| Methode | Beschreibung |
|---|---|
| Axes.contour() | Kontur |
| Axes.contourf() | Gefüllte Kontur |
| Axes.clabel() | Konturbeschriftungen |
7. 2D-Array-Methoden
| Methode | Beschreibung |
|---|---|
| Axes.imshow() | Bild/Heatmap anzeigen |
| Axes.matshow() | Matrixbild |
| Axes.pcolor() | Pseudofarben-Gitter (PolyCollection) |
| Axes.pcolorfast() | Schnelle Pseudofarbdarstellung (mit imshow gezeichnet) |
| Axes.pcolormesh() | Pseudofarben-Gitter (QuadMesh, empfohlen) |
| Axes.spy() | Muster einer dünnbesetzten Matrix |
8. Methoden für unstrukturierte Dreiecksgitter
| Methode | Beschreibung |
|---|---|
| Axes.triplot() | Dreiecksgitter-Linien |
| Axes.tripcolor() | Dreiecksgitter-Pseudofarben |
| Axes.tricontour() | Dreiecksgitter-Kontur |
| Axes.tricontourf() | Gefüllte Dreiecksgitter-Kontur |
9. Text- und Annotationsmethoden
| Methode | Beschreibung |
|---|---|
| Axes.text() | Text hinzufügen |
| Axes.annotate() | Annotation mit Pfeil hinzufügen |
| Axes.table() | Tabelle hinzufügen |
| Axes.arrow() | Pfeil hinzufügen |
| Axes.inset_axes() | Eine Inset-Achse innerhalb von Axes erstellen |
| Axes.indicate_inset() | Den Bereich der Inset-Achse auf der übergeordneten Axes markieren |
| Axes.indicate_inset_zoom() | Den gezoomten Bereich der Inset-Achse markieren |
| Axes.secondary_xaxis() | Eine sekundäre x-Achse hinzufügen (dieselben Daten an einer anderen Position anzeigen) |
| Axes.secondary_yaxis() | Eine sekundäre y-Achse hinzufügen |
10. Methoden für Vektorfelder
| Methode | Beschreibung |
|---|---|
| Axes.quiver() | Vektorfeld (Quiver-Diagramm) |
| Axes.quiverkey() | Skalenbalken für Vektorfeld-Legende |
| Axes.barbs() | Windbarben-Diagramm |
| Axes.streamplot() | Stromlinien-Diagramm |
11. Methoden zum Leeren
| Methode | Beschreibung |
|---|---|
| Axes.cla() | Gesamten Inhalt in den Axes löschen |
| Axes.clear() | Die Axes leeren (wie cla()) |
12. Darstellungsmethoden
| Methode | Beschreibung |
|---|---|
| Axes.axis() | Sichtbarkeit oder Grenzen der Achse festlegen |
| Axes.set_axis_off() | Die Achsen ausblenden |
| Axes.set_axis_on() | Die Achsen anzeigen |
| Axes.set_frame_on() | Den Axes-Rahmen anzeigen |
| Axes.get_frame_on() | Ermitteln, ob der Rahmen sichtbar ist |
| Axes.set_axisbelow() | Festlegen, ob Gitter/Teilstriche unter den Daten liegen |
| Axes.get_axisbelow() | Ermitteln der Ebene für Gitter/Teilstriche |
| Axes.grid() | Gitterlinien festlegen |
| Axes.get_facecolor() | Hintergrundfarbe der Axes ermitteln |
| Axes.set_facecolor() | Hintergrundfarbe der Axes festlegen |
13. Eigenschaftszyklus
| Methode | Beschreibung |
|---|---|
| Axes.set_prop_cycle() | Legt den Zyklus von Eigenschaften wie Linienfarbe/Linienstil fest |
14. Achsen- und Teilstrichsteuerung
Achsenzugriff:
| Methode | Beschreibung |
|---|---|
| Axes.xaxis / Axes.yaxis | Ruft das Axis-Objekt der x-/y-Achse ab (Eigenschaft) |
| Axes.get_xaxis() / get_yaxis() | Ruft das Axis-Objekt der x-/y-Achse ab |
Achsengrenzen und -richtung:
| Methode | Beschreibung |
|---|---|
| Axes.set_xlim() / get_xlim() | Setzt/ruft den Bereich der x-Achse ab |
| Axes.set_ylim() / get_ylim() | Bereich der y-Achse festlegen/abrufen |
| Axes.set_xbound() / get_xbound() | Untere und obere Grenzen der x-Achse festlegen/abrufen |
| Axes.set_ybound() / get_ybound() | Untere und obere Grenzen der y-Achse festlegen/abrufen |
| Axes.invert_xaxis() | Richtung der x-Achse umkehren |
| Axes.invert_yaxis() | Richtung der y-Achse umkehren |
| Axes.xaxis_inverted() / yaxis_inverted() | Abfragen, ob die Achse umgekehrt ist |
| Axes.set_xinverted() / get_xinverted() | Festlegen/Abrufen, ob die x-Achse umgekehrt ist |
| Axes.set_yinverted() / get_yinverted() | Festlegen/Abrufen, ob die y-Achse umgekehrt ist |
| Axes.update_datalim() | Erweitert die Datengrenzen um neue Datenpunkte |
Achsenbeschriftungen und Legende:
| Methode | Beschreibung |
|---|---|
| Axes.set_xlabel() / get_xlabel() | Festlegen/Abrufen der x-Achsenbeschriftung |
| Axes.set_ylabel() / get_ylabel() | Festlegen/Abrufen der y-Achsenbeschriftung |
| Axes.label_outer() | Tick-Beschriftungen nur an den äußersten Subplots beibehalten |
| Axes.set_title() / get_title() | Axes-Titel setzen/abrufen |
| Axes.legend() | Eine Legende hinzufügen |
| Axes.get_legend() | Das aktuelle Legendenobjekt abrufen |
| Axes.get_legend_handles_labels() | Die Handles und Labels der Legende abrufen |
Achsen-Skalierung:
| Methode | Beschreibung |
|---|---|
| Axes.set_xscale() / get_xscale() | x-Achsen-Skalierung setzen/abrufen |
| Axes.set_yscale() / get_yscale() | Setzen/Abrufen der y-Achsen-Skala |
Autoskalierung und Ränder:
| Methode | Beschreibung |
|---|---|
| Axes.autoscale() | Die Ansicht automatisch skalieren, um die Daten anzupassen |
| Axes.autoscale_view() | Nur die Ansicht automatisch skalieren (ohne die Ränder zu ändern) |
| Axes.margins() | Die Datenränder setzen oder abrufen |
| Axes.relim() | Die Datenlimits basierend auf dem aktuellen Artist neu berechnen |
| Axes.use_sticky_edges() | Sticky-Ränder verwenden |
| Axes.set_xmargin() / get_xmargin() | Rand der x-Achse setzen/abrufen |
| Axes.set_ymargin() / get_ymargin() | Rand der y-Achse setzen/abrufen |
| Axes.set_autoscale_on() / get_autoscale_on() | Setzen/Abrufen, ob die Autoskalierung aktiviert ist |
| Axes.set_autoscalex_on() / get_autoscalex_on() | Setzen/Abrufen, ob die x-Achse automatisch skaliert wird |
| Axes.set_autoscaley_on() / get_autoscaley_on() | Setzen/Abrufen, ob die y-Achse automatisch skaliert wird |
Seitenverhältnis:
| Methode | Beschreibung |
|---|---|
| Axes.set_aspect() / get_aspect() | Setzt/ruft das Seitenverhältnis der Achsen ab ('equal'/'auto'/numerischer Wert) |
| Axes.set_box_aspect() / get_box_aspect() | Setzt/ruft das Box-Seitenverhältnis der Axes ab |
| Axes.apply_aspect() | Wendet die aktuellen Seitenverhältnis-Einstellungen an |
| Axes.set_adjustable() / get_adjustable() | Setzt/ruft die anpassbare Richtung ab ('box'/'datalim') |
Ticks und Tick-Beschriftungen:
| Methode | Beschreibung |
|---|---|
| Axes.set_xticks() / get_xticks() | Setzt/ruft die Tick-Positionen der x-Achse ab |
| Axes.set_yticks() / get_yticks() | Festlegen/Abrufen der Tick-Positionen der y-Achse |
| Axes.set_xticklabels() / get_xticklabels() | Festlegen/Abrufen der Tick-Beschriftungen der x-Achse |
| Axes.set_yticklabels() / get_yticklabels() | Festlegen/Abrufen der Tick-Beschriftungen der y-Achse |
| Axes.get_xmajorticklabels() | Abrufen der Haupt-Tick-Beschriftungen der x-Achse |
| Axes.get_xminorticklabels() | Abrufen der Neben-Tick-Beschriftungen der x-Achse |
| Axes.get_ymajorticklabels() | Abrufen der Haupt-Tick-Beschriftungen der y-Achse |
| Axes.get_yminorticklabels() | Ruft die Beschriftungen der Nebenteilstriche der y-Achse ab |
| Axes.get_xgridlines() | Ruft die Gitterlinien der x-Achse ab |
| Axes.get_ygridlines() | Ruft die Gitterlinien der y-Achse ab |
| Axes.get_xticklines() | Ruft die Teilstriche der x-Achse ab |
| Axes.get_yticklines() | Ruft die Teilstriche der y-Achse ab |
| Axes.xaxis_date() | Setzt die Teilstriche der x-Achse auf Datumsformat |
| Axes.yaxis_date() | Y-Achsen-Ticks auf Datumsformat setzen |
| Axes.minorticks_on() | Minor-Ticks anzeigen |
| Axes.minorticks_off() | Minor-Ticks ausblenden |
| Axes.ticklabel_format() | Tick-Label-Format festlegen |
| Axes.tick_params() | Parameter für die Tick-Darstellung anpassen |
| Axes.locator_params() | Parameter des Tick-Locators steuern |
15. Einheiten
| Methode | Beschreibung |
|---|---|
| Axes.convert_xunits() | x-Werte mit einem Einheitenkonverter umwandeln |
| Axes.convert_yunits() | y-Werte mit einem Einheitenkonverter umrechnen |
| Axes.have_units() | Prüfen, ob ein Einheitenkonverter registriert ist |
16. Artists hinzufügen
| Methode | Beschreibung |
|---|---|
| Axes.add_artist() | Ein beliebiges Artist-Objekt hinzufügen |
| Axes.add_child_axes() | Untergeordnete Axes hinzufügen |
| Axes.add_collection() | Ein Collection-Objekt hinzufügen |
| Axes.add_container() | Ein Container-Objekt hinzufügen |
| Axes.add_image() | Ein AxesImage-Objekt hinzufügen |
| Axes.add_line() | Ein Line2D-Objekt hinzufügen |
| Axes.add_patch() | Ein Patch-Objekt hinzufügen |
| Axes.add_table() | Ein Table-Objekt hinzufügen |
17. Zwillingsachsen und gemeinsam genutzte Achsen
| Methode | Beschreibung |
|---|---|
| Axes.twinx() | Eine Zwillings-y-Achse erstellen, die die x-Achse teilt |
| Axes.twiny() | Eine zweite x-Achse erstellen, die die y-Achse teilt |
| Axes.sharex() | Die x-Achse mit einer anderen Axes teilen |
| Axes.sharey() | Die y-Achse mit einer anderen Axes teilen |
| Axes.get_shared_x_axes() | Grouper-Objekt für gemeinsam genutzte x-Achsen abrufen |
| Axes.get_shared_y_axes() | Grouper-Objekt für gemeinsam genutzte y-Achsen abrufen |
18. Axes-Position
| Methode | Beschreibung |
|---|---|
| Axes.get_position() / set_position() | Position und Größe der Axes in der Figure abrufen/festlegen |
| Axes.get_anchor() / set_anchor() | Ankerpunkt (feste Position) der Axes abrufen/festlegen |
| Axes.get_axes_locator() / set_axes_locator() | Axes-Locator-Callback-Funktion abrufen/festlegen |
| Axes.get_subplotspec() / set_subplotspec() | SubplotSpec-Objekt abrufen/festlegen |
| Axes.reset_position() | Axes-Position auf ihren ursprünglichen Wert zurücksetzen |
19. Asynchron/Events
| Methode | Beschreibung |
|---|---|
| Axes.stale | Markiert, ob der Artist neu gezeichnet werden muss (Eigenschaft) |
| Axes.pchanged() | Ein Eigenschaftsänderungsereignis markieren |
| Axes.add_callback() | Einen Callback für Eigenschaftsänderungen hinzufügen |
| Axes.remove_callback() | Einen Callback für Eigenschaftsänderungen entfernen |
20. Interaktion
| Methode | Beschreibung |
|---|---|
| Axes.can_pan() / can_zoom() | Gibt zurück, ob Panning/Zoomen aktiviert ist |
| Axes.set_navigate() / get_navigate() | Festlegen/Abrufen, ob die Navigationssymbolleiste aktiv ist |
| Axes.set_navigate_mode() / get_navigate_mode() | Navigationsmodus festlegen/abrufen |
| Axes.start_pan() / drag_pan() / end_pan() | Beginn/Ziehen/Ende der Pan-Operation |
| Axes.format_coord() | Formatiert die in der Symbolleiste angezeigte Koordinatenzeichenfolge |
| Axes.format_cursor_data() | Formatiert den Datenwert an der Cursorposition |
| Axes.format_xdata() / format_ydata() | Formatiert die x/y-Datenwerte |
| Axes.mouseover() | Ermittelt, ob sich die Maus über dem Axes-Objekt befindet |
| Axes.in_axes() | Ermittelt, ob ein Punkt innerhalb des Axes-Objekts liegt |
| Axes.contains() / contains_point() | Bestimmen, ob der Artist einen Punkt enthält |
| Axes.get_cursor_data() | Daten an der Cursorposition abrufen |
| Axes.get_forward_navigation_events() / set_forward_navigation_events() | Weiterleitung von Navigationsereignissen abrufen/festlegen |
21. Abfrage untergeordneter Artists
| Methode | Beschreibung |
|---|---|
| Axes.get_children() | Alle untergeordneten Artists abrufen |
| Axes.get_images() | Alle Bildobjekte abrufen |
| Axes.get_lines() | Alle Linienobjekte abrufen |
| Axes.findobj() | Untergeordnete Artists finden, die den Bedingungen entsprechen |
22. Zeichnen
| Methode | Beschreibung |
|---|---|
| Axes.draw() | Die Axes rendern |
| Axes.draw_artist() | Einen einzelnen Artist zeichnen (Low-Level-Methode) |
| Axes.redraw_in_frame() | Innerhalb des Frames neu zeichnen |
| Axes.get_window_extent() | Die Grenzen der Axes im Anzeigefenster abrufen |
| Axes.get_tightbbox() | Ruft den eng anliegenden Begrenzungsrahmen der Axes ab |
| Axes.get_rasterization_zorder() / set_rasterization_zorder() | Rasterisierungs-Zorder-Schwellenwert abrufen/festlegen |
23. Projektion (von Unterklassen zu überschreiben)
| Methode | Beschreibung |
|---|---|
| Axes.name | Projektionsname (z. B. 'rectilinear', 'polar') |
| Axes.get_xaxis_transform() / get_yaxis_transform() | Ruft die x/y-Achsen-Transformation ab |
| Axes.get_data_ratio() | Ruft das Daten-Seitenverhältnis ab |
| Axes.get_xaxis_text1_transform() | Transformation der unteren x-Achsen-Beschriftung |
| Axes.get_xaxis_text2_transform() | Transformation der oberen x-Achsen-Beschriftung |
| Axes.get_yaxis_text1_transform() | Transformation der linken y-Achsen-Beschriftung |
| Axes.get_yaxis_text2_transform() | Transformation der rechten y-Achsen-Beschriftung |
24. Weitere Methoden
| Methode | Beschreibung |
|---|---|
| Axes.set() | Eigenschaften stapelweise festlegen |
| Axes.zorder | zorder abrufen/festlegen (Eigenschaft) |
| Axes.get_figure() | Ruft das besitzende Figure-Objekt ab |
| Axes.figure | Besitzendes Figure-Objekt (Eigenschaft) |
| Axes.remove() | Entfernt sich selbst aus dem Figure-Objekt |
| Axes.has_data() | Prüft, ob Daten vorhanden sind |
| Axes.get_default_bbox_extra_artists() | Ruft die Artists ab, die zusätzlich in die Bounding-Box-Berechnung einbezogen werden sollen |
| Axes.get_transformed_clip_path_and_affine() | Ruft den transformierten Clipping-Pfad ab |
| Axes.viewLim | Ansichtsbereich (Eigenschaft) |
| Axes.dataLim | Datenbereich (Eigenschaft) |
| Axes.spines | Wörterbuch der Rahmenlinien (Eigenschaft) |
Figure-Objekt – Vollständige Methodenliste
Die Figure ist der Top-Level-Container des gesamten Diagramms und verwaltet alle Axes, Artists und das Layout.
1. Hinzufügen von Axes und SubFigures
| Methode | Beschreibung |
|---|---|
| Figure.subplots() | EmpfohlenErstellen Sie ein Raster aus Axes-Subplots |
| Figure.add_subplot() | Ein einzelnes Subplot nach Zeilen- und Spaltenposition hinzufügen |
| Figure.add_axes() | Axes an einer angegebenen Position und Größe hinzufügen |
| Figure.subplot_mosaic() | Komplexe Subplot-Anordnungen mithilfe eines Label-Layouts erstellen |
| Figure.add_gridspec() | Ein GridSpec-Layout-Objekt hinzufügen |
| Figure.subfigures() | Eine verschachtelte Sub-Figure erstellen |
| Figure.add_subfigure() | Eine einzelne SubFigure hinzufügen |
| Figure.axes | Axes-Liste (Eigenschaft) |
| Figure.get_axes() | Alle Axes abrufen |
| Figure.delaxes() | Die angegebenen Axes entfernen |
2. Speichern
| Methode | Beschreibung |
|---|---|
| Figure.savefig() | Die Figure in eine Datei speichern |
3. Annotationen auf Figure-Ebene
| Methode | Beschreibung |
|---|---|
| Figure.suptitle() / get_suptitle() | Figure-Suptitle setzen/abrufen |
| Figure.supxlabel() / get_supxlabel() | x-Beschriftung auf Figure-Ebene setzen/abrufen |
| Figure.supylabel() / get_supylabel() | y-Beschriftung auf Figure-Ebene setzen/abrufen |
| Figure.colorbar() | Eine Farbskala hinzufügen |
| Figure.legend() | Eine globale Legende hinzufügen |
| Figure.text() | Text auf Figure-Ebene hinzufügen |
| Figure.align_labels() | Die Achsenbeschriftungen aller Subplots ausrichten |
| Figure.align_xlabels() | Die x-Achsenbeschriftungen aller Subplots ausrichten |
| Figure.align_ylabels() | Die y-Achsen-Beschriftungen aller Subplots ausrichten |
| Figure.align_titles() | Die Titel aller Subplots ausrichten |
| Figure.autofmt_xdate() | Datums-Tick-Beschriftungen automatisch drehen |
4. Figure-Geometrie
| Methode | Beschreibung |
|---|---|
| Figure.set_size_inches() / get_size_inches() | Figure-Größe festlegen/abrufen (in Zoll) |
| Figure.set_figheight() / get_figheight() | Figure-Höhe festlegen/abrufen |
| Figure.set_figwidth() / get_figwidth() | Figure-Breite festlegen/abrufen |
| Figure.dpi | DPI-Auflösung (Eigenschaft) |
| Figure.set_dpi() / get_dpi() | DPI festlegen/abrufen |
5. Subplot-Layout
| Methode | Beschreibung |
|---|---|
| Figure.subplots_adjust() | Subplot-Abstände manuell anpassen |
| Figure.set_layout_engine() | Layout-Engine festlegen ('constrained'/'compressed'/'none') |
| Figure.get_layout_engine() | Aktuelle Layout-Engine abrufen |
| Figure.tight_layout() | Automatisches kompaktes Layout (nicht mehr empfohlen) |
| Figure.set_tight_layout() / get_tight_layout() | Setzen/Abrufen von tight_layout (nicht mehr empfohlen) |
| Figure.set_constrained_layout() / get_constrained_layout() | Setzen/Abrufen von constrained_layout (nicht mehr empfohlen) |
| Figure.set_constrained_layout_pads() / get_constrained_layout_pads() | Setzen/Abrufen der constrained_layout-Ränder (nicht mehr empfohlen) |
6. Interaktion
| Methode | Beschreibung |
|---|---|
| Figure.ginput() | Koordinatenpunkte durch Mausklicks abrufen |
| Figure.waitforbuttonpress() | Auf Maus- oder Tastendruck warten |
| Figure.pick() | Ein Pick-Ereignis auslösen |
| Figure.add_axobserver() | Einen Axes-Beobachter hinzufügen |
7. Änderung des Erscheinungsbilds
| Methode | Beschreibung |
|---|---|
| Figure.set_frameon() / get_frameon() | Setzt/ruft ab, ob der Figure-Hintergrund sichtbar ist |
| Figure.set_linewidth() / get_linewidth() | Setzt/ruft die Linienbreite des Figure-Rahmens ab |
| Figure.set_facecolor() / get_facecolor() | Setzt/ruft die Hintergrundfarbe der Figure ab |
| Figure.set_edgecolor() / get_edgecolor() | Figure-Rahmenfarbe festlegen/abrufen |
8. Hinzufügen und Abrufen von Artists
| Methode | Beschreibung |
|---|---|
| Figure.add_artist() | Beliebigen Artist hinzufügen |
| Figure.figimage() | Ein Bild auf Figure-Ebene platzieren |
| Figure.get_children() | Alle untergeordneten Artists abrufen |
9. Zustandsverwaltung
| Methode | Beschreibung |
|---|---|
| Figure.clear() | Die Figure leeren |
| Figure.gca() | Die aktuellen Axes abrufen |
| Figure.sca() | Aktuelle Axes festlegen |
| Figure.show() | Die Abbildung anzeigen |
| Figure.draw() | Die Abbildung rendern |
| Figure.draw_artist() | Einen einzelnen Artist zeichnen |
| Figure.draw_without_rendering() | Das Layout ohne Rendering berechnen (um Größeninformationen zu erhalten) |
| Figure.set_canvas() | Canvas festlegen |
| Figure.get_tightbbox() | Ruft die enge Begrenzungsbox der Figure ab |
| Figure.get_window_extent() | Ruft die Grenzen der Figure im Anzeigefenster ab |
10. Hilfsfunktionen
| Funktion | Beschreibung |
|---|---|
| figaspect() | Berechnet die Figure-Größe basierend auf dem angegebenen Seitenverhältnis |
SubFigure-Objekt – Methodenliste
SubFigure ist eine logische untergeordnete Figure, die in der übergeordneten Figure verschachtelt ist, mit Methoden ähnlich wie Figure.
Axes hinzufügen
| Methoden | Beschreibung |
|---|---|
| SubFigure.subplots() | Subplot-Raster erstellen |
| SubFigure.add_subplot() | Ein einzelnes Subplot hinzufügen |
| SubFigure.add_axes() | Axes an einer angegebenen Position hinzufügen |
| SubFigure.subplot_mosaic() | Layout-Subplots beschriften |
| SubFigure.add_gridspec() | GridSpec hinzufügen |
| SubFigure.subfigures() | Eine tiefer verschachtelte SubFigure erstellen |
| SubFigure.add_subfigure() | Eine einzelne SubFigure hinzufügen |
| SubFigure.delaxes() | Axes entfernen |
Annotationen
| Methoden | Beschreibung |
|---|---|
| SubFigure.suptitle() / get_suptitle() | Gesamttitel der SubFigure |
| SubFigure.supxlabel() / get_supxlabel() | x-Beschriftung der SubFigure |
| SubFigure.supylabel() / get_supylabel() | y-Beschriftung der SubFigure |
| SubFigure.colorbar() | Farbskala |
| SubFigure.legend() | Legende |
| SubFigure.text() | Text |
| SubFigure.align_labels() | Beschriftungen ausrichten |
| SubFigure.align_xlabels() / align_ylabels() | x/y-Beschriftungen ausrichten |
| SubFigure.align_titles() | Titel ausrichten |
Artist und Darstellung
| Methoden | Beschreibung |
|---|---|
| SubFigure.add_artist() | Artist hinzufügen |
| SubFigure.get_children() | Untergeordneten Artist abrufen |
| SubFigure.set_frameon() / get_frameon() | Rahmen setzen/abrufen |
| SubFigure.set_linewidth() / get_linewidth() | Linienbreite setzen/abrufen |
| SubFigure.set_facecolor() / get_facecolor() | Hintergrundfarbe setzen/abrufen |
| SubFigure.set_edgecolor() / get_edgecolor() | Rahmenfarbe setzen/abrufen |
| SubFigure.set_dpi() / get_dpi() | DPI setzen/abrufen |
Kurzreferenz zur Stilkonfiguration
Integrierte Stilvorlagen
Überplt.style.use('name')Stile wechseln.
| Stilname | Stilbeschreibung |
|---|---|
| default | Standardstil, klar und neutral |
| ggplot | Ahmt den R-ggplot2-Stil nach, grauer Hintergrund mit weißem Gitter |
| seaborn-v0_8 | Moderner Stil ähnlich der seaborn-Bibliothek |
| seaborn-v0_8-bright | Helle seaborn-Palette |
| seaborn-v0_8-colorblind | Farbenblindfreundliche seaborn-Palette |
| seaborn-v0_8-dark | dunkler seaborn-Stil |
| seaborn-v0_8-dark-palette | dunkle seaborn-Palette |
| seaborn-v0_8-darkgrid | seaborn dunkel mit Gitter |
| seaborn-v0_8-deep | tiefe seaborn-Töne |
| seaborn-v0_8-muted | gedämpfte seaborn-Töne |
| seaborn-v0_8-notebook | seaborn Notebook-Stil |
| seaborn-v0_8-paper | seaborn Papierstil |
| seaborn-v0_8-pastel | seaborn Pastelltöne |
| seaborn-v0_8-poster | seaborn Poster-Stil |
| seaborn-v0_8-talk | seaborn Talk-Stil |
| seaborn-v0_8-ticks | seaborn Ticks-Stil |
| seaborn-v0_8-white | seaborn weißer Hintergrund |
| seaborn-v0_8-whitegrid | seaborn weiß mit Gitter |
| fivethirtyeight | Ahmt den Datenjournalismus-Stil von FiveThirtyEight nach |
| dark_background | Dunkler Hintergrund, geeignet für Präsentationen und die Verwendung bei Nacht |
| bmh | Stil von Bayesian Methods for Hackers |
| grayscale | Graustufen-Stil, geeignet für Schwarz-Weiß-Druck |
| classic | Matplotlib v1.x classic-Stil |
| fast | Vereinfachter Stil, schnelleres Rendering |
| Solarize_Light2 | Helles Solarized-Theme |
| tableau-colorblind10 | Farbenblindenfreundliche Tableau-Palette |
Gängige rcParams-Konfiguration
| Parameter | Beschreibung | Beispielwert |
|---|---|---|
| figure.figsize | Standardgröße der Abbildung (Zoll) | [8, 6] |
| figure.dpi | Standardauflösung | 100 |
| figure.facecolor | Hintergrundfarbe der Abbildung | 'white' |
| figure.edgecolor | Rahmenfarbe der Abbildung | 'white' |
| font.size | Globale Schriftgröße | 12 |
| font.family | Schriftfamilie | 'sans-serif' |
| font.sans-serif | Sans-serif-Schriftartenliste | ['DejaVu Sans', ...] |
| axes.titlesize | Titel-Schriftgröße | 'large' |
| axes.labelsize | Schriftgröße der Achsenbeschriftung | 'medium' |
| axes.grid | Ob das Gitter standardmäßig angezeigt wird | False |
| axes.facecolor | Hintergrundfarbe der Achsen | 'white' |
| axes.spines.top | Ob der obere Rahmen angezeigt wird | True |
| axes.spines.right | Ob der rechte Rahmen angezeigt wird | True |
| lines.linewidth | Standard-Linienbreite | 1.5 |
| lines.markersize | Standardgröße der Markierung | 6 |
| lines.linestyle | Standard-Linienstil | '-' |
| legend.loc | Standardposition der Legende | 'best' |
| legend.fontsize | Schriftgröße der Legende | 'medium' |
| xtick.labelsize | Größe der x-Achsen-Tick-Beschriftung | 'medium' |
| ytick.labelsize | Größe der y-Achsen-Tick-Beschriftung | 'medium' |
| savefig.dpi | Standard-DPI zum Speichern von Bildern | 'figure' |
| savefig.bbox | Bounding-Box-Modus beim Speichern | Keine |
| image.cmap | Standard-Colormap | 'viridis' |
| image.interpolation | Bildinterpolationsmethode | 'antialiased' |
Kurzreferenz für Colormaps
| Kategorie | Colormap-Name | Anwendungsszenario |
|---|---|---|
| Wahrnehmungsgleichmäßig (sequenziell) | viridis, plasma, inferno, magma, cividis | Kontinuierliche Daten, farbenblindfreundlich, empfohlene erste Wahl |
| Sequenziell (Einfarbton-Verlauf) | Greys, Purples, Blues, Greens, Oranges, Reds, YlOrBr, YlOrRd, OrRd, PuRd, RdPu, BuPu, GnBu, PuBu, YlGnBu, PuBuGn, BuGn, YlGn | Kontinuierliche Daten von niedrig bis hoch, ein einzelner Farbton |
| Divergierend | PiYG, PRGn, BrBG, PuOr, RdGy, RdBu, RdYlBu, RdYlGn, Spectral, coolwarm, bwr, seismic | Bidirektionale Daten mit einem zentralen Referenzpunkt |
| Zyklisch | twilight, twilight_shifted, hsv | Periodische Daten (z. B. Winkel, Zeit) |
| Qualitativ | Pastel1, Pastel2, Paired, Accent, Dark2, Set1, Set2, Set3, tab10, tab20, tab20b, tab20c | Diskrete kategoriale Daten |
| Verschiedenes | flag, prism, ocean, gist_earth, terrain, gist_stern, gnuplot, gnuplot2, CMRmap, cubehelix, brg, gist_rainbow, rainbow, jet, turbo, nipy_spectral, gist_ncar | Spezialzwecke oder visuelle Effekte |
'viridis'Seit Matplotlib 2.0 ist es die Standard-Colormap mit hervorragender perzeptueller Gleichmäßigkeit und Eignung für Farbenblinde, was es in den meisten Szenarien zur ersten Wahl macht. Vermeiden Sie die Verwendung von'jet'und'rainbow', da sie Probleme mit Wahrnehmungsverzerrungen aufweisen.
Häufige Beispiele
Beispiel 1: Einfaches Liniendiagramm und Streudiagramm
Erstellen Sie ein Diagramm mit mehreren Kurven und Annotationen unter Verwendung der expliziten Axes-Schnittstelle.
Beispiel
import numpy as np
# Daten generieren: 100 gleichmäßig verteilte Punkte von 0 bis 10
x = np.linspace(0, 10, 100)
y1 = np.sin(x) # Sinusfunktion
y2 = np.cos(x) # Kosinusfunktion
# Figure und Axes erstellen (explizite Schnittstelle, empfohlen)
fig, ax = plt.subplots(figsize=(8, 4), layout='constrained')
# Zwei Linien plotten, Farben, Linienstile und Beschriftungen festlegen
ax.plot(x, y1, label='sin(x)', color='blue', linewidth=2)
ax.plot(x, y2, label='cos(x)', color='red', linestyle='--', linewidth=2)
# Hervorgehobene Scatterpunkte an den Spitzenpositionen hinzufügen
peak_idx_sin = np.argmax(y1)
peak_idx_cos = np.argmax(y2)
ax.scatter(x[peak_idx_sin], y1[peak_idx_sin],
color='blue', s=100, zorder=5)
ax.scatter(x[peak_idx_cos], y2[peak_idx_cos],
color='red', s=100, zorder=5)
# Dekoration: Titel, Achsenbeschriftungen, Legende, Gitter
ax.set_title('Sinus- und Kosinusfunktionen', fontsize=14)
ax.set_xlabel('x (radians)')
ax.set_ylabel('Amplitude')
ax.legend(loc='upper right')
ax.grid(True, alpha=0.3)
plt.show()
print("Beispiel: Plot erfolgreich angezeigt")
Beispiel 2: Multi-Subplot-Layout (2x2)
Zeigt, wie man verschiedene Arten von Subplots in einer Figure erstellt.
Beispiel
import numpy as np
x = np.linspace(0, 2 * np.pi, 100)
# Erstelle 2x2 Subplots (objektorientierte Schnittstelle)
fig, axes = plt.subplots(2, 2, figsize=(10, 8), layout='constrained')
fig.suptitle('Mehrteiliges EXAMPLE Demo', fontsize=16)
# Subplot (0,0): Liniendiagramm
axes[0, 0].plot(x, np.sin(x), color='tab:blue', linewidth=2)
axes[0, 0].set_title('Liniendiagramm')
axes[0, 0].set_ylabel('sin(x)')
# Subplot (0,1): Streudiagramm
np.random.seed(42)
colors = np.random.rand(50)
sizes = np.random.rand(50) * 200
axes[0, 1].scatter(np.random.rand(50), np.random.rand(50),
c=colors, s=sizes, alpha=0.6, cmap='viridis')
axes[0, 1].set_title('Streudiagramm')
# Subplot (1,0): Balkendiagramm (mit Wertelabels)
categories = ['A', 'B', 'C', 'D', 'E']
values = [23, 45, 56, 78, 32]
bars = axes[1, 0].bar(categories, values,
color='tab:green', edgecolor='white')
axes[1, 0].bar_label(bars) # Werte auf den Balken anzeigen
axes[1, 0].set_title('Balkendiagramm')
# Subplot (1,1): Histogramm
data = np.random.randn(1000)
axes[1, 1].hist(data, bins=30, color='tab:orange',
edgecolor='white', alpha=0.8)
axes[1, 1].axvline(x=0, color='red', linestyle='--', linewidth=2)
axes[1, 1].set_title('Histogram')
plt.show()
Beispiel 3: Heatmap vs. Konturdiagramm
Demonstriert die Visualisierung von 2D-Daten in derselben Abbildung unter Verwendung von sowohl imshow als auch contourf.
Beispiel
import numpy as np
# 2D-Gitterdaten erstellen
x = np.linspace(-3, 3, 100)
y = np.linspace(-3, 3, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(X) * np.cos(Y) # 2D-Funktionswerte
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5),
layout='constrained')
# Linkes Panel: Heatmap (imshow)
im = ax1.imshow(Z, extent=[-3, 3, -3, 3], origin='lower',
cmap='viridis', aspect='auto')
ax1.set_title('Heatmap (imshow)', fontsize=14)
ax1.set_xlabel('X')
ax1.set_ylabel('Y')
fig.colorbar(im, ax=ax1, label='Amplitude', shrink=0.8)
# Rechtes Panel: gefüllte Konturen (contourf)
contour = ax2.contourf(X, Y, Z, levels=15, cmap='RdYlBu')
# Konturgrenzen überlagern
ax2.contour(X, Y, Z, levels=15, colors='black', linewidths=0.5)
ax2.set_title('Filled Contour (contourf)', fontsize=14)
ax2.set_xlabel('X')
ax2.set_ylabel('Y')
fig.colorbar(contour, ax=ax2, label='Amplitude', shrink=0.8)
plt.show()
Beispiel 4: Stilwechsel und Speichern von Abbildungen
Verwenden Sie Stylesheets und rcParams, um das Erscheinungsbild anzupassen und hochwertige Bilder zu speichern.
Beispiel
import numpy as np
# ggplot-Stil verwenden, dann einige Parameter feinabstimmen
plt.style.use('ggplot')
plt.rcParams['figure.figsize'] = [8, 6]
plt.rcParams['font.size'] = 12
x = np.linspace(0, 10, 50)
y1 = np.exp(-x/3) * np.sin(2 * x) # Gedämpfte Sinuswelle
y2 = np.exp(-x/3) * np.cos(2 * x) # Gedämpfte Kosinuswelle
fig, ax = plt.subplots()
ax.plot(x, y1, 'o-', label='Gedämpfter Sinus', markersize=6)
ax.plot(x, y2, 's--', label='Gedämpfter Kosinus', markersize=6)
# Das erste Maximum annotieren
peak_idx = np.argmax(y1)
ax.annotate(f'Maximum: {y1[peak_idx]:.2f}',
xy=(x[peak_idx], y1[peak_idx]),
xytext=(x[peak_idx] + 1.5, y1[peak_idx] + 0.15),
arrowprops=dict(arrowstyle='->', color='gray'),
fontsize=10)
ax.set_title('Gedämpfte Schwingung', fontsize=16)
ax.set_xlabel('Zeit (s)')
ax.set_ylabel('Amplitude')
ax.legend()
ax.grid(True)
# Als hochwertiges PNG mit 300 DPI speichern
fig.savefig('example_damped_oscillation.png',
dpi=300, bbox_inches='tight')
print("Beispiel: Abbildung erfolgreich gespeichert")
plt.show()
Beispiel 5: Komplexes Layout mit Mosaik
Verwende subplot_mosaic, um ungleichmäßige Subplot-Anordnungen zu erstellen.
Beispiel
import numpy as np
# Mosaik-String definiert das Layout:
# 'A' erstreckt sich über die gesamte obere Zeile, 'B' und 'C' befinden sich unten links und mittig links, 'D' belegt vertikal unten rechts
layout = """
A A A
B C D
"""
fig, axes = plt.subplot_mosaic(layout, figsize=(10, 6),
layout='constrained')
fig.suptitle('Komplexes Mosaik-Layout (BEISPIEL)', fontsize=16)
# Panel A: Liniendiagramm (überspannt die obere Zeile)
x = np.linspace(0, 10, 100)
axes['A'].plot(x, np.sin(x), label='sin(x)')
axes['A'].plot(x, np.cos(x), label='cos(x)')
axes['A'].set_title('Panel A: Liniendiagramm')
axes['A'].legend()
# Panel B: Kreisdiagramm
sizes = [30, 25, 20, 15, 10]
labels = ['Python', 'Java', 'C++', 'Rust', 'Go']
axes['B'].pie(sizes, labels=labels, autopct='%1.1f%%',
startangle=90)
axes['B'].set_title('Panel B: Kreisdiagramm')
# Panel C: Balkendiagramm
axes['C'].bar(['X', 'Y', 'Z'], [10, 25, 15],
color=['#ff6b6b', '#4ecdc4', '#45b7d1'])
axes['C'].set_title('Panel C: Balkendiagramm')
# Panel D: Wärmekarte
matrix = np.random.rand(5, 5)
im = axes['D'].imshow(matrix, cmap='Blues', aspect='auto')
axes['D'].set_title('Panel D: Heatmap')
fig.colorbar(im, ax=axes['D'])
plt.show()
Beispiel 6: Doppelte Y-Achsen und Inset-Achsen
Demonstriert die Verwendung von secondary_axis, twinx und inset_axes.
Beispiel
import numpy as np
fig, ax = plt.subplots(figsize=(8, 5), layout='constrained')
x = np.linspace(0, 10, 100)
# Hauptdiagramm: Zeichne zwei Kurven mit unterschiedlichen Dimensionen
ax.plot(x, np.sin(x), 'b-', label='sin(x) [Amplitude]')
ax.set_xlabel('x (radians)')
ax.set_ylabel('sin(x)', color='blue')
ax.tick_params(axis='y', labelcolor='blue')
# Zweite y-Achse erstellen (gemeinsame x-Achse)
ax2 = ax.twinx()
ax2.plot(x, np.exp(x/5), 'r--', label='exp(x/5) [Wachstum]')
ax2.set_ylabel('exp(x/5)', color='red')
ax2.tick_params(axis='y', labelcolor='red')
# Inset-Subplot in ax hinzufügen (in einen lokalen Bereich zoomen)
axins = ax.inset_axes([0.15, 0.5, 0.3, 0.35])
axins.plot(x, np.sin(x), 'b-')
axins.set_xlim(3, 5)
axins.set_ylim(-1.2, 1.2)
axins.set_title('Vergrößerter Bereich')
axins.grid(True, alpha=0.3)
# Inset-Bereich im Hauptdiagramm markieren
ax.indicate_inset_zoom(axins, edgecolor='gray')
ax.set_title('Duale Y-Achsen mit Inset-Zoom', fontsize=14)
plt.show()
Häufig gestellte Fragen
Diagramme werden nicht angezeigt
Prüfen Sie, ob Sie aufgerufen habenplt.show()。
Muss unter nicht-interaktiven Backends (z. B. Agg) explizit aufgerufen werdenshow()。
Verwenden Sie in Jupyter Notebook%matplotlib inlineDer Magic-Befehl stellt sicher, dass Diagramme inline angezeigt werden.
Zu viele Ticks oder falsche Tick-Reihenfolge
Die häufige Ursache ist, dass eine Liste von Zeichenfolgen als Daten übergeben wird (statt numerischer oder datetime-Werte).
Matplotlib behandelt Zeichenfolgenlisten als kategoriale Variablen, mit einem Tick pro eindeutigem Wert, angeordnet in der Reihenfolge des Auftretens.
Lösung: Zeichenketten in numerische Werte umwandeln, z. B.np.asarray(data, dtype='float')odernp.asarray(data, dtype='datetime64[s]')。
Chinesische Zeichen werden als Kästchen angezeigt
Die Standard-Schriftart von Matplotlib (DejaVu Sans) enthält keine chinesischen Glyphen; Sie müssen eine Schriftart angeben, die Chinesisch unterstützt.
Setplt.rcParams['font.sans-serif'] = ['SimHei', 'Arial Unicode MS', ...]Und stellen Sie sicher, dass die entsprechende Schriftart auf dem System installiert ist.
Überlappende oder abgeschnittene Beschriftungen
Empfohlen zur Verwendung beim Erstellen einer Figurelayout='constrained'oderlayout='compressed'Parameter, der überlappende Beschriftungen, Titel und Legenden automatisch behandelt.
Du kannst auchfig.tight_layout()oderfig.subplots_adjust()manuelle Anpassung.
Unterschiede zwischen pcolor und pcolormesh
pcolor()Erstellt eine PolyCollection, langsamere, aber genauere Darstellung.
pcolormesh()Erstellt ein QuadMesh, schnellere Darstellung, empfohlen für die meisten Szenarien.
Für sehr große Gitter,pcolorfast()Verwenden Sie die Methode imshow zum Plotten, am schnellsten, aber am wenigsten genau.
Verwandte Ressourcen
- Offizielle Matplotlib-Website: matplotlib.org
- Offizielle Galerie: matplotlib.org/stable/gallery/index.html
- Vollständige API-Referenz: matplotlib.org/stable/api/index.html
- Installationsanleitung: matplotlib.org/stable/install/index.html
- Leitfaden zur Mitarbeit: matplotlib.org/stable/devel/index.html