Beschriftungen, Titel und Speichern von Abbildungen
Fügen Sie Achsenbeschriftungen, einen Titel, eine Legende und eine Tick-Formatierung hinzu und speichern Sie anschließend mit savefig() Abbildungen in Publikationsqualität.
Beschriftungen, Titel und Speichern von Abbildungen ist eine kostenlose Pandas & NumPy Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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 Pandas & NumPy Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Pandas & NumPy Academy-Kurs umfasst insgesamt 4 Lektionen.
Von der Darstellung zur Publikation
Ein Diagramm ist nur dann wirkungsvoll, wenn seine Achsen beschriftet sind, sein Titel die zentrale Aussage vermittelt und es mit einer für das vorgesehene Medium ausreichenden Auflösung gespeichert wird. Diese Lektion behandelt die letzten Schritte, die aus einer schnellen explorativen Darstellung eine ausgearbeitete Abbildung für einen Bericht, ein Dashboard oder eine wissenschaftliche Publikation machen: Achsenbeschriftungen, Tick-Formatierung, Titel, Legenden, Anmerkungen und Dateiexport.
Achsenbeschriftungen mit set_xlabel und set_ylabel
Setzen Sie aussagekräftige Achsenbeschriftungen mit ax.set_xlabel() und ax.set_ylabel(). Geben Sie in der Beschriftung immer die Einheiten an (z. B. 'Revenue (USD)' statt nur 'Revenue'). Verwenden Sie fontsize, um die Beschriftungen für Präsentationen zu vergrößern, und labelpad, um bei großen Tick-Beschriftungen zusätzlichen Abstand zwischen Achse und Beschriftungstext einzufügen.
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(figsize=(7, 4))
x = np.arange(1, 13)
y = np.random.randint(100, 500, 12)
ax.plot(x, y, 'o-', color='steelblue')
ax.set_xlabel('Month', fontsize=12, labelpad=8)
ax.set_ylabel('Revenue (USD thousands)', fontsize=12, labelpad=8)
# plt.show()
plt.close()Titel mit set_title und suptitle
ax.set_title() setzt den Titel über einer einzelnen Axes. Für Abbildungen mit mehreren Teilplots fügt fig.suptitle() einen gemeinsamen Titel über allen Teilplots hinzu. Steuern Sie die Schriftgröße mit fontsize und die vertikale Position mit y (Standardwert 1.0). Ein guter Titel nennt die zentrale Erkenntnis des Diagramms und nicht nur die Bezeichnungen der Achsen — vergleichen Sie 'Monthly Revenue' mit 'Revenue Peaked in Q3 and Fell 20% in Q4'.
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4))
ax1.plot([1,2,3], [1,4,9])
ax1.set_title('Subplot One', fontsize=11)
ax2.bar(['A','B','C'], [3,7,2])
ax2.set_title('Subplot Two', fontsize=11)
# Shared figure title
fig.suptitle('Annual Overview Dashboard', fontsize=14, fontweight='bold', y=1.02)
plt.tight_layout()
plt.close()Tick-Beschriftungen steuern
Die standardmäßigen Tick-Beschriftungen von Matplotlib sind oft ausreichend, manchmal benötigen Sie jedoch eigene Beschriftungen. Verwenden Sie ax.set_xticks(), um die Positionen der Ticks festzulegen, und ax.set_xticklabels(), um die Beschriftungen zu setzen. Übergeben Sie rotation=45, um lange Beschriftungen zu drehen und ein Überlappen zu verhindern. Der Parameter ha='right' (horizontale Ausrichtung) sorgt dafür, dass gedrehte Beschriftungen korrekt an ihrem Tick verankert werden.
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
values = np.random.randint(200, 600, 12)
fig, ax = plt.subplots(figsize=(9, 4))
ax.bar(range(12), values, color='steelblue')
ax.set_xticks(range(12))
ax.set_xticklabels(months, rotation=45, ha='right', fontsize=10)
ax.set_ylabel('Revenue')
plt.tight_layout()
plt.close()Tick-Werte formatieren
Verwenden Sie die Formatter aus matplotlib.ticker, um Tick-Werte in einem gut lesbaren Format anzuzeigen. FuncFormatter erwartet eine Funktion, die den Tick-Wert erhält und eine formatierte Zeichenfolge zurückgibt. Häufige Muster sind Tausendertrennzeichen, Währungssymbole, Prozentzeichen und wissenschaftliche Schreibweise. Wenden Sie den Formatter mit ax.yaxis.set_major_formatter(formatter) an.
from matplotlib.ticker import FuncFormatter
def millions_fmt(x, pos):
return f'${x/1e6:.1f}M'
fig, ax = plt.subplots(figsize=(7, 4))
ax.bar(['Q1', 'Q2', 'Q3', 'Q4'], [1.2e6, 1.8e6, 2.1e6, 1.9e6], color='steelblue')
ax.yaxis.set_major_formatter(FuncFormatter(millions_fmt))
ax.set_title('Quarterly Revenue')
ax.set_ylabel('Revenue')
plt.tight_layout()
plt.close()Legenden mit ax.legend()
Rufen Sie ax.legend() auf, um eine Legende für alle Diagrammelemente anzuzeigen, bei denen ein label-Parameter gesetzt ist. Passen Sie sie mit loc (Position, z. B. 'upper right', 'lower left'), ncol (Spaltenanzahl), framealpha (Transparenz des Rahmens) und fontsize an. Wenn Sie die Legende außerhalb des Diagrammbereichs platzieren möchten, verwenden Sie bbox_to_anchor zusammen mit loc.
fig, ax = plt.subplots(figsize=(7, 4))
for region, color in [('East','steelblue'),('West','coral'),('North','green')]:
ax.plot(range(12), np.random.randint(100, 400, 12),
marker='o', label=region, color=color)
ax.legend(loc='upper right', ncol=1, framealpha=0.8, fontsize=10)
ax.set_title('Monthly Sales by Region')
plt.close()Textanmerkungen hinzufügen
ax.annotate(text, xy=(x_point, y_point), xytext=(x_text, y_text), arrowprops=...) fügt eine Textbeschriftung mit einem optionalen Pfeil hinzu, der auf einen bestimmten Datenpunkt zeigt. Verwenden Sie dies, um Maximalwerte, Anomalien oder wichtige Ereignisse in einem Diagramm hervorzuheben. Das arrowprops-Dictionary steuert den Pfeilstil: arrowstyle='->' ist ein einfacher Pfeil.
y_vals = np.array([120, 180, 310, 250, 420, 380, 290])
x_vals = np.arange(len(y_vals))
peak_idx = np.argmax(y_vals)
fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(x_vals, y_vals, 'o-', color='steelblue')
ax.annotate(f'Peak: {y_vals[peak_idx]}',
xy=(peak_idx, y_vals[peak_idx]),
xytext=(peak_idx - 2, y_vals[peak_idx] + 30),
arrowprops={'arrowstyle': '->', 'color': 'red'},
fontsize=10, color='red')
plt.close()Horizontale und vertikale Referenzlinien hinzufügen
ax.axhline(y_value) zeichnet an der angegebenen y-Position eine horizontale Linie über die gesamte Breite der Axes. ax.axvline(x_value) zeichnet eine vertikale Linie. Beide akzeptieren die Parameter color, linestyle und linewidth. Referenzlinien werden häufig verwendet, um Ziele, Schwellenwerte oder Ereignisdaten in Zeitreihendiagrammen zu markieren.
fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(range(10), np.random.randint(100, 400, 10), 'o-', color='steelblue')
# Target line
ax.axhline(y=250, color='red', linestyle='--', lw=1.5, label='Target')
# Event line
ax.axvline(x=5, color='orange', linestyle=':', lw=1.5, label='Campaign start')
ax.legend()
ax.set_title('Revenue vs Target')
plt.close()Mit Themes gestalten
Matplotlib enthält mehrere integrierte Stylesheets, die das gesamte Erscheinungsbild aller Abbildungen ohne Änderungen am Code anpassen: 'seaborn-v0_8-whitegrid', 'fivethirtyeight', 'ggplot', 'bmh' usw. Wenden Sie einen Stil mit plt.style.use('style_name') am Anfang Ihres Skripts an. Verwenden Sie plt.style.context('style_name') als Context Manager, um einen Stil nur innerhalb eines Codeblocks anzuwenden.
# Apply a style globally
plt.style.use('seaborn-v0_8-whitegrid')
fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(range(10), np.random.randn(10).cumsum())
ax.set_title('Seaborn Whitegrid Style')
plt.close()
# Reset to default
plt.rcdefaults()Abbildungen mit savefig() speichern
fig.savefig('filename.png') speichert die Abbildung in einer Datei. Wichtige Parameter sind: dpi (Punkte pro Zoll — verwenden Sie 150 für den Bildschirm und 300 für den Druck), bbox_inches='tight' (verhindert das Abschneiden von Beschriftungen) und format (wird aus der Dateiendung abgeleitet oder explizit angegeben). Häufige Formate sind '.png' (Rasterformat, gut für das Web), '.pdf' (Vektorformat, gut für den Druck) und '.svg' (Vektorformat, in Illustrator bearbeitbar).
fig, ax = plt.subplots(figsize=(8, 5))
ax.plot(range(10), np.random.randn(10), 'o-')
ax.set_title('Export Example')
ax.set_xlabel('Step')
ax.set_ylabel('Value')
# Save as PNG (screen quality)
fig.savefig('/tmp/chart_screen.png', dpi=150, bbox_inches='tight')
# Save as PDF (print quality)
fig.savefig('/tmp/chart_print.pdf', dpi=300, bbox_inches='tight')
plt.close()
print('Figures saved.')Vollständiges Beispiel: Ausgearbeitetes Diagramm für einen Bericht
Hier sehen Sie einen vollständigen Workflow, der alle Techniken dieser Lektion kombiniert: ein ausgearbeitetes Zeitreihendiagramm mit Achsenbeschriftungen, formatierten y-Achsen-Ticks, einer horizontalen Ziellinie, einer Anmerkung am Höchstwert und dem Export als hochauflösende PNG-Datei. Dieses Muster verwenden Sie für jedes Diagramm, das in einen Bericht oder ein Dashboard aufgenommen wird.
from matplotlib.ticker import FuncFormatter
fig, ax = plt.subplots(figsize=(9, 5))
months = list(range(1, 13))
revenue = [120, 145, 132, 160, 175, 190, 210, 185, 220, 200, 240, 260]
peak = max(revenue)
peak_idx = revenue.index(peak)
ax.plot(months, revenue, 'o-', color='steelblue', lw=2, markersize=6)
ax.axhline(y=180, color='red', ls='--', lw=1.2, label='Target: $180K')
ax.annotate(f'Peak ${peak}K', xy=(peak_idx+1, peak),
xytext=(peak_idx-1.5, peak+15),
arrowprops={'arrowstyle': '->'}, fontsize=9)
ax.set_xticks(months)
ax.set_xticklabels(['Jan','Feb','Mar','Apr','May','Jun',
'Jul','Aug','Sep','Oct','Nov','Dec'], rotation=45, ha='right')
ax.yaxis.set_major_formatter(FuncFormatter(lambda x,p: f'${x:.0f}K'))
ax.set_title('2024 Monthly Revenue vs Target', fontsize=13, fontweight='bold')
ax.set_ylabel('Revenue')
ax.legend()
plt.tight_layout()
plt.close()Kurzer Test
Testen Sie Ihr Verständnis von Beschriftungen, Titeln und dem Speichern von Abbildungen aus dieser Lektion.
Lektionsrückblick
In dieser Lektion haben Sie gelernt: set_xlabel()/set_ylabel()/set_title() fügen aussagekräftige Texte hinzu; FuncFormatter formatiert Tick-Werte als Währungsbeträge oder Prozentsätze; ax.annotate() fügt Textbeschriftungen mit Pfeilen hinzu, um wichtige Datenpunkte hervorzuheben; axhline()/axvline() zeichnen Referenzlinien; und fig.savefig() mit dpi und bbox_inches='tight' erzeugt Exporte in publikationsgeeigneter Qualität. Damit ist der Kurs Matplotlib Fundamentals abgeschlossen — als Nächstes folgt Seaborn für statistische Darstellungen.
Häufig gestellte Fragen
Ist die Lektion „Beschriftungen, Titel und Speichern von Abbildungen“ kostenlos?
Ja — der vollständige Text von „Beschriftungen, Titel und Speichern von Abbildungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Pandas & NumPy Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Pandas & NumPy Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Beschriftungen, Titel und Speichern von Abbildungen“?
Fügen Sie Achsenbeschriftungen, einen Titel, eine Legende und eine Tick-Formatierung hinzu und speichern Sie anschließend mit savefig() Abbildungen in Publikationsqualität. Du übst Pandas & NumPy 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 Pandas & NumPy Academy zu starten?
Keine Vorkenntnisse erforderlich. Pandas & NumPy 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 4 von 4.
Wie lange dauert die Lektion „Beschriftungen, Titel und Speichern von Abbildungen“?
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 Pandas & NumPy Academy-Lektion Code schreiben und ausführen?
Ja. Jede Pandas & NumPy 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.
Alle Lektionen in diesem Kurs
- Architektur von Figure und Axes
- Linien- und Streudiagramme
- Balkendiagramme und Histogramme
- Beschriftungen, Titel und Speichern von Abbildungen