Matplotlib Titel- und Beschriftungsfunktionen


Matplotlib 参考文档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

FunktionZweckEntsprechende Axes-Methode
title()Axes-Titel festlegenax.set_title()
xlabel() / ylabel()x/y-Achsenbeschriftungen festlegenax.set_xlabel() / ax.set_ylabel()
suptitle()Supertitel der Abbildung festlegenfig.suptitle()
supxlabel() / supylabel()x/y-Achsenbeschriftungen auf Figure-Ebene setzenfig.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

ParameterBeschreibung
label / xlabel / ylabel / tTextinhalt (erforderlich)
fontsize / sizeSchriftgröße, z. B. 14, 'large', 'x-large'
fontweight / weightSchriftstärke: 'normal', 'bold', 'light'
colorTextfarbe
fontdictWörterbuch der Schrifteigenschaften, z. B. {'fontsize':14, 'color':'blue'}
locAusrichtung: 'center' (Standard), 'left', 'right'
pad / labelpadAbstand 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()

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

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

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

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'。


Matplotlib 参考文档Matplotlib-Referenzdokumentation

Andere Erweiterungen