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.

FunktionVerwandte 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()-Funktionpie(), pie_label()
Matplotlib imshow()-Funktionimshow()
Matplotlib subplots()-Funktionsubplots()
Matplotlib figure()-Funktionfigure()
Matplotlib savefig()-Funktionsavefig()
Matplotlib errorbar()-Funktionerrorbar()
Matplotlib boxplot()-Funktionboxplot()
Matplotlib contour() / contourf()-Funktioncontour(), contourf(), clabel()
Matplotlib fill_between() / fill_betweenx()-Funktionfill_between(), fill_betweenx()
Matplotlib legend()-Funktionlegend()
Matplotlib text() / annotate()-Funktiontext(), annotate()
Matplotlib Titel- und Beschriftungsfunktionentitle(), xlabel(), ylabel(), suptitle(), supxlabel(), supylabel()
Matplotlib-Funktion colorbar()colorbar()
Matplotlib-Funktionen zur Verwaltung von Figuren und Achsenaxes(), cla(), clf(), close(), delaxes(), fignum_exists(), gca(), gcf(), get_figlabels(), get_fignums(), sca(), subplot(), subplot2grid(), subplot_mosaic(), twinx(), twiny()
Erweiterte Matplotlib-Plot-Funktionenstep(), stem(), eventplot(), stackplot(), broken_barh(), vlines(), hlines(), fill(), loglog(), semilogx(), semilogy()
Matplotlib-Funktionen für Bereiche und Vektorfelderaxhline(), axhspan(), axvline(), axvspan(), axline(), quiver(), quiverkey(), barbs(), streamplot()
Matplotlib-Funktionen zur Spektralanalyseacorr(), xcorr(), psd(), csd(), specgram(), cohere(), angle_spectrum(), magnitude_spectrum(), phase_spectrum()
Matplotlib-Funktionen für 2D-Daten und statistische Diagrammehist2d(), hexbin(), stairs(), matshow(), pcolor(), pcolormesh(), spy(), figimage(), ecdf(), violinplot()
Matplotlib-Funktionen für Triangulation und Polarkoordinatentriplot(), tripcolor(), tricontour(), tricontourf(), polar(), rgrids(), thetagrids()
Matplotlib-Funktionen zur Achsenkonfigurationxlim(), 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 Konfigurationsubplots_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 Interaktionsfunktionenconnect(), 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-Ebenefigtext(), 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).

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

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

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

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

FunktionBeschreibung
boxplot()Boxplot zeichnen
violinplot()Violinplot zeichnen
ecdf()Empirische kumulative Verteilungsfunktion (ECDF) zeichnen

6. Binning und Histogramme

FunktionBeschreibung
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

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

FunktionBeschreibung
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

FunktionBeschreibung
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

FunktionBeschreibung
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

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

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

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

FunktionBeschreibung
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
colormapsColormap-Registrierungsobjekt
color_sequencesFarbsequenz-Registrierungsobjekt

15. Konfiguration

Funktionen zur Verwaltung globaler Konfigurationsparameter von Matplotlib.

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

FunktionBeschreibung
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

FunktionBeschreibung
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

MethodeBeschreibung
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

MethodeBeschreibung
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

MethodeBeschreibung
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

MethodeBeschreibung
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

MethodeBeschreibung
Axes.hist()Histogramm
Axes.hist2d()2D-Histogramm
Axes.hexbin()Hexagonales Binning-Diagramm
Axes.stairs()Stufenhistogramm

6. Konturmethoden

MethodeBeschreibung
Axes.contour()Kontur
Axes.contourf()Gefüllte Kontur
Axes.clabel()Konturbeschriftungen

7. 2D-Array-Methoden

MethodeBeschreibung
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

MethodeBeschreibung
Axes.triplot()Dreiecksgitter-Linien
Axes.tripcolor()Dreiecksgitter-Pseudofarben
Axes.tricontour()Dreiecksgitter-Kontur
Axes.tricontourf()Gefüllte Dreiecksgitter-Kontur

9. Text- und Annotationsmethoden

MethodeBeschreibung
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

MethodeBeschreibung
Axes.quiver()Vektorfeld (Quiver-Diagramm)
Axes.quiverkey()Skalenbalken für Vektorfeld-Legende
Axes.barbs()Windbarben-Diagramm
Axes.streamplot()Stromlinien-Diagramm

11. Methoden zum Leeren

MethodeBeschreibung
Axes.cla()Gesamten Inhalt in den Axes löschen
Axes.clear()Die Axes leeren (wie cla())

12. Darstellungsmethoden

MethodeBeschreibung
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

MethodeBeschreibung
Axes.set_prop_cycle()Legt den Zyklus von Eigenschaften wie Linienfarbe/Linienstil fest

14. Achsen- und Teilstrichsteuerung

Achsenzugriff:

MethodeBeschreibung
Axes.xaxis / Axes.yaxisRuft 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:

MethodeBeschreibung
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:

MethodeBeschreibung
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:

MethodeBeschreibung
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:

MethodeBeschreibung
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:

MethodeBeschreibung
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:

MethodeBeschreibung
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

MethodeBeschreibung
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

MethodeBeschreibung
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

MethodeBeschreibung
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

MethodeBeschreibung
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

MethodeBeschreibung
Axes.staleMarkiert, 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

MethodeBeschreibung
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

MethodeBeschreibung
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

MethodeBeschreibung
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)

MethodeBeschreibung
Axes.nameProjektionsname (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

MethodeBeschreibung
Axes.set()Eigenschaften stapelweise festlegen
Axes.zorderzorder abrufen/festlegen (Eigenschaft)
Axes.get_figure()Ruft das besitzende Figure-Objekt ab
Axes.figureBesitzendes 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.viewLimAnsichtsbereich (Eigenschaft)
Axes.dataLimDatenbereich (Eigenschaft)
Axes.spinesWö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

MethodeBeschreibung
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.axesAxes-Liste (Eigenschaft)
Figure.get_axes()Alle Axes abrufen
Figure.delaxes()Die angegebenen Axes entfernen

2. Speichern

MethodeBeschreibung
Figure.savefig()Die Figure in eine Datei speichern

3. Annotationen auf Figure-Ebene

MethodeBeschreibung
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

MethodeBeschreibung
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.dpiDPI-Auflösung (Eigenschaft)
Figure.set_dpi() / get_dpi()DPI festlegen/abrufen

5. Subplot-Layout

MethodeBeschreibung
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

MethodeBeschreibung
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

MethodeBeschreibung
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

MethodeBeschreibung
Figure.add_artist()Beliebigen Artist hinzufügen
Figure.figimage()Ein Bild auf Figure-Ebene platzieren
Figure.get_children()Alle untergeordneten Artists abrufen

9. Zustandsverwaltung

MethodeBeschreibung
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

FunktionBeschreibung
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

MethodenBeschreibung
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

MethodenBeschreibung
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

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

StilnameStilbeschreibung
defaultStandardstil, klar und neutral
ggplotAhmt den R-ggplot2-Stil nach, grauer Hintergrund mit weißem Gitter
seaborn-v0_8Moderner Stil ähnlich der seaborn-Bibliothek
seaborn-v0_8-brightHelle seaborn-Palette
seaborn-v0_8-colorblindFarbenblindfreundliche seaborn-Palette
seaborn-v0_8-darkdunkler seaborn-Stil
seaborn-v0_8-dark-palettedunkle seaborn-Palette
seaborn-v0_8-darkgridseaborn dunkel mit Gitter
seaborn-v0_8-deeptiefe seaborn-Töne
seaborn-v0_8-mutedgedämpfte seaborn-Töne
seaborn-v0_8-notebookseaborn Notebook-Stil
seaborn-v0_8-paperseaborn Papierstil
seaborn-v0_8-pastelseaborn Pastelltöne
seaborn-v0_8-posterseaborn Poster-Stil
seaborn-v0_8-talkseaborn Talk-Stil
seaborn-v0_8-ticksseaborn Ticks-Stil
seaborn-v0_8-whiteseaborn weißer Hintergrund
seaborn-v0_8-whitegridseaborn weiß mit Gitter
fivethirtyeightAhmt den Datenjournalismus-Stil von FiveThirtyEight nach
dark_backgroundDunkler Hintergrund, geeignet für Präsentationen und die Verwendung bei Nacht
bmhStil von Bayesian Methods for Hackers
grayscaleGraustufen-Stil, geeignet für Schwarz-Weiß-Druck
classicMatplotlib v1.x classic-Stil
fastVereinfachter Stil, schnelleres Rendering
Solarize_Light2Helles Solarized-Theme
tableau-colorblind10Farbenblindenfreundliche Tableau-Palette

Gängige rcParams-Konfiguration

ParameterBeschreibungBeispielwert
figure.figsizeStandardgröße der Abbildung (Zoll)[8, 6]
figure.dpiStandardauflösung100
figure.facecolorHintergrundfarbe der Abbildung'white'
figure.edgecolorRahmenfarbe der Abbildung'white'
font.sizeGlobale Schriftgröße12
font.familySchriftfamilie'sans-serif'
font.sans-serifSans-serif-Schriftartenliste['DejaVu Sans', ...]
axes.titlesizeTitel-Schriftgröße'large'
axes.labelsizeSchriftgröße der Achsenbeschriftung'medium'
axes.gridOb das Gitter standardmäßig angezeigt wirdFalse
axes.facecolorHintergrundfarbe der Achsen'white'
axes.spines.topOb der obere Rahmen angezeigt wirdTrue
axes.spines.rightOb der rechte Rahmen angezeigt wirdTrue
lines.linewidthStandard-Linienbreite1.5
lines.markersizeStandardgröße der Markierung6
lines.linestyleStandard-Linienstil'-'
legend.locStandardposition der Legende'best'
legend.fontsizeSchriftgröße der Legende'medium'
xtick.labelsizeGröße der x-Achsen-Tick-Beschriftung'medium'
ytick.labelsizeGröße der y-Achsen-Tick-Beschriftung'medium'
savefig.dpiStandard-DPI zum Speichern von Bildern'figure'
savefig.bboxBounding-Box-Modus beim SpeichernKeine
image.cmapStandard-Colormap'viridis'
image.interpolationBildinterpolationsmethode'antialiased'

Kurzreferenz für Colormaps

KategorieColormap-NameAnwendungsszenario
Wahrnehmungsgleichmäßig (sequenziell)viridis, plasma, inferno, magma, cividisKontinuierliche 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, YlGnKontinuierliche Daten von niedrig bis hoch, ein einzelner Farbton
DivergierendPiYG, PRGn, BrBG, PuOr, RdGy, RdBu, RdYlBu, RdYlGn, Spectral, coolwarm, bwr, seismicBidirektionale Daten mit einem zentralen Referenzpunkt
Zyklischtwilight, twilight_shifted, hsvPeriodische Daten (z. B. Winkel, Zeit)
QualitativPastel1, Pastel2, Paired, Accent, Dark2, Set1, Set2, Set3, tab10, tab20, tab20b, tab20cDiskrete kategoriale Daten
Verschiedenesflag, prism, ocean, gist_earth, terrain, gist_stern, gnuplot, gnuplot2, CMRmap, cubehelix, brg, gist_rainbow, rainbow, jet, turbo, nipy_spectral, gist_ncarSpezialzwecke 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 matplotlib.pyplot as plt
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 matplotlib.pyplot as plt
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 matplotlib.pyplot as plt
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 matplotlib.pyplot as plt
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 matplotlib.pyplot as plt
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 matplotlib.pyplot as plt
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
Weitere Erweiterungen