oujood.com

Matplotlib Découvrez la définition des subplots, leur utilisation pratique

Introduction à Matplotlib Subplot - Découvrez la définition des subplots, leur utilisation pratique avec des exemples, ainsi que des conseils et astuces pour tirer le meilleur parti de cette fonctionnalité de Matplotlib.

chercher |

Introduction à Matplotlib Subplot

Matplotlib est une bibliothèque populaire de visualisation de données en Python, offrant une large gamme de fonctionnalités pour créer des graphiques de manière flexible et personnalisée. L'une des fonctionnalités les plus puissantes de Matplotlib est la capacité à créer des sous-graphiques (subplots), permettant de placer plusieurs graphiques sur une même figure.

Définition de Subplot :

Les subplots sont des sections individuelles d'une figure Matplotlib qui permettent de tracer plusieurs graphiques à l'intérieur d'une seule fenêtre de tracé.

La fonction subplot() prend trois arguments qui décrivent la disposition de la figure.

La disposition est organisée en lignes et en colonnes, qui sont représentées par le premier et le deuxième argument.

Le troisième argument représente l'index du graphe actuel.

plt.subplot(1, 2, 1)

#la figure a 1 ligne, 2 colonnes, et ce graphe est le premier graphe.

plt.subplot(1, 2, 2)

#la figure a 1 ligne, 2 colonnes, et ce tracé est le second tracé.

Ainsi, si nous voulons une figure avec 2 lignes et 1 colonne (ce qui signifie que les deux tracés seront affichés l'un au-dessus de l'autre plutôt que côte à côte), nous pouvons écrire la syntaxe comme suit :

Exemple :       Copier le code

plt.subplot(2, 1, 1)
# Premier graphique dans une figure avec 2 lignes et 1 colonne

plt.subplot(2, 1, 2)
# Deuxième graphique dans une figure avec 2 lignes et 1 colonne

Utilisation pratique de Subplot :

  1. Création de subplots : Utilisez la fonction plt.subplots() pour créer une figure et des axes (subplots) associés. Cette fonction renvoie à la fois la figure et un tableau d'axes.
  2. Tracé des graphiques : Utilisez les axes retournés pour tracer différents graphiques à l'intérieur de chaque subplot en utilisant les méthodes de traçage habituelles de Matplotlib (comme plot(), bar(), scatter(), etc.).
  3. Personnalisation : Ajoutez des titres, des étiquettes d'axe, des légendes, etc., à chaque subplot pour améliorer la lisibilité et la compréhension des graphiques.
  4. Réglage de la disposition : Utilisez les paramètres de la fonction plt.subplots() pour spécifier le nombre de lignes et de colonnes de subplots souhaités.

Exemples pratiques d'utilisation :

Exemple :       Copier le code

 
import matplotlib.pyplot as plt
import numpy as np

# Données pour les graphiques
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# Création de subplots : une figure avec 2 lignes et 1 colonne
fig, axs = plt.subplots(2, 1, figsize=(8, 6))

# Tracé du premier subplot (en haut)
axs[0].plot(x, y1, color='blue')
axs[0].set_title('Sinus')

# Tracé du deuxième subplot (en bas)
axs[1].plot(x, y2, color='red')
axs[1].set_title('Cosinus')

# Ajout d'un titre à la figure
plt.suptitle('Graphiques de Fonctions Trigonométriques')

# Affichage des subplots
plt.tight_layout()
plt.show()

Vous pouvez dessiner autant de tracés que vous le souhaitez sur une même figure, en indiquant simplement le nombre de lignes et de colonnes, ainsi que l'indice du tracé. Vous pouvez aussi ajouter des titres à chaque sous graphe ou même à la figure

Exemple Dessinez 6 courbes :

Exemple :       Copier le code

import matplotlib.pyplot as plt
import numpy as np

x = np.array([0, 1, 2, 3])
y = np.array([3, 8, 1, 10])

plt.subplot(2, 3, 1)
plt.plot(x,y)
plt.title('Graphe 1')

x = np.array([0, 1, 2, 3])
y = np.array([10, 20, 30, 40])

plt.subplot(2, 3, 2)
plt.plot(x,y)
plt.title('Graphe 2')

x = np.array([0, 1, 2, 3])
y = np.array([3, 8, 1, 10])

plt.subplot(2, 3, 3)
plt.plot(x,y)
plt.title('Graphe 3')

x = np.array([0, 1, 2, 3])
y = np.array([10, 20, 30, 40])

plt.subplot(2, 3, 4)
plt.plot(x,y)
plt.title('Graphe 4')

x = np.array([0, 1, 2, 3])
y = np.array([3, 8, 1, 10])

plt.subplot(2, 3, 5)
plt.plot(x,y)
plt.title('Graphe 5')

x = np.array([0, 1, 2, 3])
y = np.array([10, 20, 30, 40])

plt.subplot(2, 3, 6)
plt.plot(x,y)
plt.title('Graphe 6')

plt.show()  
six graphes

Conseils et astuces :

  • Utilisez plt.subplots() avec les paramètres nrows et ncols pour définir facilement la disposition de vos subplots.
  • Pour accéder à un subplot spécifique, utilisez l'indexation du tableau renvoyé par plt.subplots() (par exemple, axs[0, 1] pour accéder à un subplot dans une grille 2x2).
  • Utilisez plt.tight_layout() pour ajuster automatiquement les espacements entre les subplots afin d'améliorer la lisibilité.
  • Expérimentez avec les options de personnalisation de Matplotlib pour améliorer l'apparence de vos subplots : couleurs, styles de ligne, annotations, etc.

Les subplots de Matplotlib offrent une grande flexibilité pour créer des visualisations complexes et claires, en permettant de juxtaposer plusieurs graphiques dans une seule figure, ce qui les rend extrêmement utiles pour l'analyse et la présentation des données.




Voir aussi nos tutoriel :

margin-top

Définit la marge du haut d'un élément

fonction str_split

Convertit une chaîne de caractères en tableau

fonction date_sunset

Retourne l’heure du coucher du soleil pour un jour et un endroit donnés