Matplotlib Titel- und Beschriftungsfunktionen
Matplotlib-Referenzdokumentation
Matplotlib bietet eine Reihe von Funktionen zum Festlegen von Diagrammtiteln, Achsenbeschriftungen und Supertiteln der Abbildung, die die Grundlage dafür bilden, Diagramme vollständig und lesbar zu machen.
Beteiligte Funktionen
| Funktion | Zweck | Entsprechende Axes-Methode |
|---|---|---|
| title() | Axes-Titel festlegen | ax.set_title() |
| xlabel() / ylabel() | x/y-Achsenbeschriftungen festlegen | ax.set_xlabel() / ax.set_ylabel() |
| suptitle() | Supertitel der Abbildung festlegen | fig.suptitle() |
| supxlabel() / supylabel() | x/y-Achsenbeschriftungen auf Figure-Ebene setzen | fig.supxlabel() / fig.supylabel() |
Funktionsdefinition
matplotlib.pyplot.title(label, fontdict=None, loc=None, pad=None,
*, y=None, **kwargs)
matplotlib.pyplot.xlabel(xlabel, fontdict=None, labelpad=None, *,
loc=None, **kwargs)
matplotlib.pyplot.ylabel(ylabel, fontdict=None, labelpad=None, *,
loc=None, **kwargs)
matplotlib.pyplot.suptitle(t, **kwargs)
matplotlib.pyplot.supxlabel(t, **kwargs)
matplotlib.pyplot.supylabel(t, **kwargs)
Häufige Parameter
| Parameter | Beschreibung |
|---|---|
| label / xlabel / ylabel / t | Textinhalt (erforderlich) |
| fontsize / size | Schriftgröße, z. B. 14, 'large', 'x-large' |
| fontweight / weight | Schriftstärke: 'normal', 'bold', 'light' |
| color | Textfarbe |
| fontdict | Wörterbuch der Schrifteigenschaften, z. B. {'fontsize':14, 'color':'blue'} |
| loc | Ausrichtung: 'center' (Standard), 'left', 'right' |
| pad / labelpad | Abstand zwischen Text und Achsen-/Diagrammrand (in Punkten) |
| y (titel-spezifisch) | Vertikale Position des Titels (in Axes-Koordinaten, 1.0 ist oben) |
AxesDie Benennung von Objektmethoden beginnt mitset_Präfix, wie z. B.ax.set_title()、ax.set_xlabel(), was der empfohlene Ansatz für die objektorientierte Schnittstelle ist.
Anwendungsbeispiele
Beispiel 1: Einfacher Titel und Beschriftungen
Beispiel
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x) * np.exp(-x/5)
fig, ax = plt.subplots(figsize=(8, 4), layout='constrained')
ax.plot(x, y, 'steelblue', linewidth=2)
# Titel setzen (Axes-Ebene)
ax.set_title('Gedämpfte Sinuswelle', fontsize=14, fontweight='bold')
# Achsenbeschriftungen festlegen
ax.set_xlabel('Zeit (Sekunden)', fontsize=12)
ax.set_ylabel('Amplitude (V)', fontsize=12)
ax.grid(True, alpha=0.3)
plt.show()
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x) * np.exp(-x/5)
fig, ax = plt.subplots(figsize=(8, 4), layout='constrained')
ax.plot(x, y, 'steelblue', linewidth=2)
# Titel setzen (Axes-Ebene)
ax.set_title('Gedämpfte Sinuswelle', fontsize=14, fontweight='bold')
# Achsenbeschriftungen festlegen
ax.set_xlabel('Zeit (Sekunden)', fontsize=12)
ax.set_ylabel('Amplitude (V)', fontsize=12)
ax.grid(True, alpha=0.3)
plt.show()
Beispiel 2: Abbildungs-Suptitel + Achsenbeschriftungen
Beispiel
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
fig, axes = plt.subplots(2, 2, figsize=(10, 8),
layout='constrained')
# Jedes Subplot hat seinen eigenen Titel
axes[0, 0].plot(x, np.sin(x)); axes[0, 0].set_title('sin(x)')
axes[0, 1].plot(x, np.cos(x)); axes[0, 1].set_title('cos(x)')
axes[1, 0].plot(x, np.sin(2*x)); axes[1, 0].set_title('sin(2x)')
axes[1, 1].plot(x, np.cos(2*x)); axes[1, 1].set_title('cos(2x)')
# Suptitel auf Abbildungsebene
fig.suptitle('Übersicht über trigonometrische Funktionen',
fontsize=16, fontweight='bold', y=1.02)
# Achsenbeschriftungen auf Figurenebene (zentriert über alle Subplots)
fig.supxlabel('x (Bogenmaß)', fontsize=13)
fig.supylabel('Amplitude', fontsize=13)
plt.show()
import numpy as np
x = np.linspace(0, 10, 100)
fig, axes = plt.subplots(2, 2, figsize=(10, 8),
layout='constrained')
# Jedes Subplot hat seinen eigenen Titel
axes[0, 0].plot(x, np.sin(x)); axes[0, 0].set_title('sin(x)')
axes[0, 1].plot(x, np.cos(x)); axes[0, 1].set_title('cos(x)')
axes[1, 0].plot(x, np.sin(2*x)); axes[1, 0].set_title('sin(2x)')
axes[1, 1].plot(x, np.cos(2*x)); axes[1, 1].set_title('cos(2x)')
# Suptitel auf Abbildungsebene
fig.suptitle('Übersicht über trigonometrische Funktionen',
fontsize=16, fontweight='bold', y=1.02)
# Achsenbeschriftungen auf Figurenebene (zentriert über alle Subplots)
fig.supxlabel('x (Bogenmaß)', fontsize=13)
fig.supylabel('Amplitude', fontsize=13)
plt.show()
Beispiel 3: Position und Stil des Titels
Beispiel
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4),
layout='constrained')
# Linkes Diagramm: linksbündiger Titel
ax1.plot(x, np.sin(x), 'steelblue')
ax1.set_title('Linksbündiger Titel',
loc='left', # Linksbündig
fontsize=12,
color='steelblue')
ax1.set_xlabel('X-Achse', fontsize=10, color='gray')
# Rechtes Diagramm: rechtsbündiger Titel
ax2.plot(x, np.cos(x), 'coral')
ax2.set_title('Rechtsbündiger Titel',
loc='right', # Rechtsbündig
fontsize=12,
color='coral',
fontstyle='italic')
ax2.set_ylabel('Y-Achse', fontsize=10, color='gray',
rotation=0, labelpad=20) # Beschriftungen nicht gedreht
plt.show()
import numpy as np
x = np.linspace(0, 10, 100)
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4),
layout='constrained')
# Linkes Diagramm: linksbündiger Titel
ax1.plot(x, np.sin(x), 'steelblue')
ax1.set_title('Linksbündiger Titel',
loc='left', # Linksbündig
fontsize=12,
color='steelblue')
ax1.set_xlabel('X-Achse', fontsize=10, color='gray')
# Rechtes Diagramm: rechtsbündiger Titel
ax2.plot(x, np.cos(x), 'coral')
ax2.set_title('Rechtsbündiger Titel',
loc='right', # Rechtsbündig
fontsize=12,
color='coral',
fontstyle='italic')
ax2.set_ylabel('Y-Achse', fontsize=10, color='gray',
rotation=0, labelpad=20) # Beschriftungen nicht gedreht
plt.show()
Beispiel 4: LaTeX-Titel einer mathematischen Formel
Beispiel
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-5, 5, 200)
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4),
layout='constrained')
# Gauß-Verteilung
sigma, mu = 1.0, 0.0
y1 = 1/(sigma * np.sqrt(2*np.pi)) * np.exp(-(x-mu)**2/(2*sigma**2))
ax1.plot(x, y1, 'steelblue', linewidth=2)
# LaTeX-Formel als Titel verwenden
ax1.set_title(
r'$f(x) = frac{1}{sigmasqrt{2pi}}'
r'expleft(-frac{(x-mu)^2}{2sigma^2}right)$',
fontsize=12)
# Polynom
y2 = x**3 - 3*x
ax2.plot(x, y2, 'coral', linewidth=2)
ax2.set_title(r'$f(x) = x^3 - 3x$', fontsize=14)
ax2.axhline(y=0, color='gray', linewidth=0.5)
for ax in [ax1, ax2]:
ax.set_xlabel('x')
ax.grid(True, alpha=0.3)
fig.suptitle('Funktionen mit LaTeX-Titeln', fontsize=14,
fontweight='bold')
plt.show()
print("Beispiel: LaTeX-Titel angezeigt")
import numpy as np
x = np.linspace(-5, 5, 200)
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4),
layout='constrained')
# Gauß-Verteilung
sigma, mu = 1.0, 0.0
y1 = 1/(sigma * np.sqrt(2*np.pi)) * np.exp(-(x-mu)**2/(2*sigma**2))
ax1.plot(x, y1, 'steelblue', linewidth=2)
# LaTeX-Formel als Titel verwenden
ax1.set_title(
r'$f(x) = frac{1}{sigmasqrt{2pi}}'
r'expleft(-frac{(x-mu)^2}{2sigma^2}right)$',
fontsize=12)
# Polynom
y2 = x**3 - 3*x
ax2.plot(x, y2, 'coral', linewidth=2)
ax2.set_title(r'$f(x) = x^3 - 3x$', fontsize=14)
ax2.axhline(y=0, color='gray', linewidth=0.5)
for ax in [ax1, ax2]:
ax.set_xlabel('x')
ax.grid(True, alpha=0.3)
fig.suptitle('Funktionen mit LaTeX-Titeln', fontsize=14,
fontweight='bold')
plt.show()
print("Beispiel: LaTeX-Titel angezeigt")
FAQ
Unterschied zwischen title() und suptitle()?
title()(oderax.set_title()): Legt den Titel über einer einzelnen Axes fest.
suptitle()(oderfig.suptitle()): Legt den Gesamttitel am oberen Rand der gesamten Figure fest, der alle Subplots abdeckt.
Wie kann der Titel Chinesisch unterstützen?
Schriftart festlegen:plt.rcParams['font.sans-serif'] = ['SimHei']oderplt.rcParams['font.family'] = 'sans-serif'。
Andere Erweiterungen