Figures und Axes
Das Plotting-Modell verstehen
Figures und Axes ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.
Das Plotting-Modell
Matplotlib ist die grundlegende Plotting-Bibliothek für Python. Um sie effektiv zu verwenden, müssen Sie ihr zweistufiges Modell verstehen: Figure und Axes.
Eine Figure ist das übergeordnete Fenster oder die Seite, auf der alles gezeichnet wird. Ein Axes ist ein einzelner Plot innerhalb dieser Figure mit einem eigenen x- und y-Koordinatensystem.
- Eine Figure kann mehrere Axes enthalten
- In jedem Axes befinden sich die eigentlichen Daten
Figure, Axes und Axis
Drei Begriffe lassen sich leicht verwechseln:
- Figure das gesamte Bild, also der Container
- Axes ein einzelner Plot-Bereich (achten Sie auf die Schreibweise: Es ist nicht der Plural von Axis)
- Axis die x-Achse oder y-Achse innerhalb eines Axes
Eine Figure enthält also Axes, und jedes Axes enthält zwei oder drei Axis-Objekte.
Eine Figure und Axes erstellen
Am besten beginnen Sie mit plt.subplots(). Dieser Aufruf gibt eine Figure und ein Axes zurück.
Das Modell selbst lässt sich auch ohne Darstellung leicht nachvollziehen. Hier simulieren wir, wofür die Objekte stehen.
fig = {'type': 'Figure', 'axes': []}
ax = {'type': 'Axes', 'parent': 'Figure'}
fig['axes'].append(ax)
print('Figure holds', len(fig['axes']), 'axes')
print('Axes parent is the', ax['parent'])Die pyplot-Schnittstelle
Matplotlib bietet zwei Schreibweisen. Die pyplot-Schreibweise (zustandsbasiert) verwendet plt.plot() und verfolgt automatisch die aktuelle Figure. Die objektorientierte Schreibweise verwendet ausdrücklich ax.plot().
Für alles, was über eine schnelle Skizze hinausgeht, sollten Sie die objektorientierte Schreibweise bevorzugen. Bei mehreren Axes ist sie übersichtlicher.
Warum die objektorientierte Schreibweise überlegen ist
Wenn Sie plt.title('X') aufrufen, wird der Titel auf das Axes angewendet, das gerade aktuell ist. Bei mehreren Subplots ist dadurch nicht eindeutig, welches gemeint ist.
Bei ax.set_title('X') gibt es keine Unklarheit: Die Methode zielt genau auf das von Ihnen benannte Axes.
Koordinatensysteme
Jedes Axes bildet Datenwerte auf Positionen in der Darstellung ab. Datenkoordinaten geben an, was Ihre Zahlen bedeuten; das Axes skaliert sie so, dass sie in den Zeichenbereich passen.
Diese Abbildung lässt sich mit einfacher Mathematik modellieren.
data_min, data_max = 0, 100
pixel_min, pixel_max = 0, 400
def to_pixels(value):
frac = (value - data_min) / (data_max - data_min)
return pixel_min + frac * (pixel_max - pixel_min)
for v in [0, 25, 50, 100]:
print('data', v, '->', to_pixels(v), 'px')Figure-Größe und DPI
Eine Figure hat eine Größe in Zoll und eine Auflösung in Dots per Inch (DPI). Die Pixelgröße ergibt sich aus dem Produkt beider Werte.
Eine Figure mit 6 × 4 Zoll bei 100 DPI ist beispielsweise 600 × 400 Pixel groß.
width_in, height_in = 6, 4
dpi = 100
print('Pixels:', width_in * dpi, 'x', height_in * dpi)Axes manuell hinzufügen
Neben plt.subplots() können Sie mit fig.add_axes([left, bottom, width, height]) ein Axes an einem genau festgelegten Rechteck hinzufügen. Jeder Wert ist dabei ein Bruchteil der Figure zwischen 0 und 1.
So werden Inset-Plots und individuelle Layouts erstellt.
Die aktuelle Figure
Pyplot verwaltet ein Register mit Figures und einen Zeiger auf die aktuelle Figure. plt.gcf() ruft die aktuelle Figure ab, und plt.gca() ruft das aktuelle Axes ab.
Diese Funktionen dienen hauptsächlich der zustandsbasierten Schreibweise. In objektorientiertem Code verwalten Sie stattdessen Ihre eigenen Referenzen.
Anzeigen und schließen
plt.show() rendert alle geöffneten Figures in einem Fenster. plt.close() gibt eine Figure frei. In Skripten, die viele Figures erzeugen, verhindert das Schließen eine zunehmende Speichernutzung.
In Notebooks wird die Figure automatisch inline angezeigt.
Eine mentale Checkliste
Bevor Sie etwas zeichnen, fragen Sie sich:
- Wie viele Figure-Objekte benötige ich?
- Wie viele Axes pro Figure?
- Zu welchem Axes-Objekt gehört jedes Datenelement?
Wenn Sie diese Fragen zuerst beantworten, fühlt sich die objektorientierte API ganz natürlich an.
Kurzer Test
Testen Sie Ihr Verständnis des Figure- und Axes-Modells.
Zusammenfassung
Sie haben das grundlegende Matplotlib-Modell kennengelernt:
- Figure – der Container, dimensioniert in Inch mal DPI
- Axes – ein einzelner Plot mit eigenen Koordinaten
- Axis – die Zahlenachse für x oder y
- Bevorzugen Sie den objektorientierten Stil mit
fig, ax = plt.subplots()
Mit diesem mentalen Modell wird jede spätere Anpassung vorhersehbar.
Häufig gestellte Fragen
Ist die Lektion „Figures und Axes“ kostenlos?
Ja — der vollständige Text von „Figures und Axes“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Figures und Axes“?
Das Plotting-Modell verstehen Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Python Academy zu starten?
Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Figures und Axes“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?
Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.