Fonctions de titre et d'étiquettes de Matplotlib


Matplotlib 参考文档Documentation de référence de Matplotlib

Matplotlib fournit un ensemble de fonctions pour définir les titres de graphiques, les étiquettes d'axes et les suptitres de figure, constituant la base pour rendre les graphiques complets et lisibles.

Fonctions concernées

FonctionObjectifMéthode Axes correspondante
title()Définir le titre des axesax.set_title()
xlabel() / ylabel()Définir les étiquettes des axes x/yax.set_xlabel() / ax.set_ylabel()
suptitle()Définir le suptitre de la figurefig.suptitle()
supxlabel() / supylabel()Définir les étiquettes des axes x/y au niveau de la figurefig.supxlabel() / fig.supylabel()

Définition de fonction

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)

Paramètres courants

ParamètreDescription
label / xlabel / ylabel / tContenu du texte (obligatoire)
fontsize / sizeTaille de police, par ex., 14, 'large', 'x-large'
fontweight / weightGraisse de police : 'normal', 'bold', 'light'
colorCouleur du texte
fontdictDictionnaire des propriétés de police, par ex., {'fontsize':14, 'color':'blue'}
locAlignement : 'center' (par défaut), 'left', 'right'
pad / labelpadMarge entre le texte et le bord des axes/du graphique (en points)
y (spécifique au titre)Position verticale du titre (en coordonnées d'axes, 1.0 est le haut)

AxesLe nommage des méthodes d'objet commence parset_préfixe, tel queax.set_title()、ax.set_xlabel(), qui est l'approche recommandée pour l'interface orientée objet.


Exemples d'utilisation

Exemple 1 : Titre et étiquettes de base

Exemple

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)

# Définir le titre (niveau Axes)
ax.set_title('Onde sinusoïdale amortie', fontsize=14, fontweight='bold')

# Définir les étiquettes des axes
ax.set_xlabel('Temps (secondes)', fontsize=12)
ax.set_ylabel('Amplitude (V)', fontsize=12)

ax.grid(True, alpha=0.3)
plt.show()

Exemple 2 : Titre global de la figure + étiquettes des axes

Exemple

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

# Chaque sous-graphique a son propre titre
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)')

# Titre global de la figure
fig.suptitle('Aperçu des fonctions trigonométriques',
             fontsize=16, fontweight='bold', y=1.02)

# Étiquettes d'axe au niveau de la figure (centrées sur tous les sous-graphiques)
fig.supxlabel('x (radians)', fontsize=13)
fig.supylabel('Amplitude', fontsize=13)

plt.show()

Exemple 3 : Position et style du titre

Exemple

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

# Graphique de gauche : titre aligné à gauche
ax1.plot(x, np.sin(x), 'steelblue')
ax1.set_title('Titre aligné à gauche',
              loc='left',                # Aligné à gauche
              fontsize=12,
              color='steelblue')
ax1.set_xlabel('Axe des X', fontsize=10, color='gray')

# Graphique de droite : titre aligné à droite
ax2.plot(x, np.cos(x), 'coral')
ax2.set_title('Titre aligné à droite',
              loc='right',               # Aligné à droite
              fontsize=12,
              color='coral',
              fontstyle='italic')
ax2.set_ylabel('Axe Y', fontsize=10, color='gray',
               rotation=0, labelpad=20)  # Étiquettes non pivotées

plt.show()

Exemple 4 : Titre de formule mathématique LaTeX

Exemple

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

# Distribution gaussienne
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)

# Utiliser une formule LaTeX comme titre
ax1.set_title(
    r'$f(x) = frac{1}{sigmasqrt{2pi}}'
    r'expleft(-frac{(x-mu)^2}{2sigma^2}right)$',
    fontsize=12)

# Polynôme
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('Fonctions avec titres LaTeX', fontsize=14,
             fontweight='bold')
plt.show()
print("exemple : titres LaTeX affichés")

FAQ

Différence entre title() et suptitle() ?

title()(ouax.set_title()): Définit le titre au-dessus d'un seul Axes.

suptitle()(oufig.suptitle()): Définit le titre global en haut de toute la Figure, couvrant tous les sous-graphes.

Comment faire en sorte que le titre prenne en charge le chinois ?

Définir la police :plt.rcParams['font.sans-serif'] = ['SimHei']ouplt.rcParams['font.family'] = 'sans-serif'。


Matplotlib 参考文档Documentation de référence de Matplotlib

Autres extensions