Ajouter une sous-parcelle à une figure dans Matplotlib

Suraj Joshi 15 février 2024
  1. Ajouter des sous-images à une figure en utilisant la méthode matplotlib.pyplot.figure.add_subplot()
  2. Créer une figure avec des sous-tracé en utilisant Matplotlib.pyplot.subplots()
Ajouter une sous-parcelle à une figure dans Matplotlib

Ce tutoriel explique comment nous pouvons ajouter des sous-images à une figure Matplotlib en utilisant la méthode matplotlib.pyplot.figure.add_subplot() en Python.

Ajouter des sous-images à une figure en utilisant la méthode matplotlib.pyplot.figure.add_subplot()

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(5, 5))

x = [1, 2, 3, 4, 5]
y = [2, 4, 5, 1, 2]

subplot = fig.add_subplot(1, 1, 1)
subplot.plot(x, y)

fig.suptitle("Figure with only one Subplot")
plt.show()

Production :

Ajouter une sous-tracé à la figure matplotlib

Il génère un chiffre avec une seule sous-intrigue. La figure peut être interprétée comme un élément de haut niveau contenant toutes les sous-parcelles et les autres éléments de la figure. On initialise d’abord l’objet figure de taille (5,5) et on ajoute ensuite une sous-image à la figure en utilisant la méthode add_subplot(). Le premier argument de la méthode add_subplot() représente le nombre de lignes de la figure, le deuxième argument représente le nombre de colonnes de la figure, et le troisième argument représente la position de la figure dans la grille.

Ici, fig.add_subplot(1,1,1) ajoutera une sous-parcelle à la première position de la grille 1 X 1 dans la figure. Alternativement, nous pouvons aussi utiliser fig.add_subplot(111) pour obtenir le même résultat. La méthode add_subplot() retourne un objet axes, qui peut être utilisé pour tracer et ajouter des détails à la sous-tracé ajoutée.

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(8, 6))

ax_1 = fig.add_subplot(121)
ax_1.text(0.3, 0.5, "subplot(121)")

ax_2 = fig.add_subplot(222)
ax_2.text(0.3, 0.5, "subplot(222)")

ax_3 = fig.add_subplot(224)
ax_3.text(0.3, 0.5, "subplot(224)")

fig.suptitle("Figure with multiple Subplots")
plt.show()

Production :

Ajouter plusieurs sous-tracés à un matplotlib de figures

Ici, nous avons un chiffre avec trois sous-lots. La première sous-tracé est le premier chiffre de la grille avec une ligne et deux colonnes. La deuxième sous-tracé représente le deuxième chiffre de la grille avec deux lignes et deux colonnes. De même, la troisième ligne représente la sous-tracé à la quatrième position dans la grille avec deux lignes et deux colonnes.

Créer une figure avec des sous-tracé en utilisant Matplotlib.pyplot.subplots()

Le Matplotlib.pyplot.subplots() ajoute également des sous-parcelles à la figure. Nous passons le nombre de lignes et de colonnes comme argument à la méthode, et la méthode retourne un objet figure et un objet axes, qui peuvent être utilisés pour manipuler le tracé.

import matplotlib.pyplot as plt

fig, ax = plt.subplots(2, 1)

ax[0].text(0.3, 0.5, "1st Subplot")
ax[0].set_xticks([])
ax[0].set_yticks([])

ax[1].text(0.3, 0.5, "2nd Subplot")
ax[1].set_xticks([])
ax[1].set_yticks([])

fig.suptitle("Figure with 2 subplots", fontsize=16)
plt.show()

Production :

Ajouter plusieurs sous-tracés à une figure matplotlib en utilisant la méthode des sous-tracés

Il génère un chiffre avec deux sous-parcelles dans une grille de deux lignes et une seule colonne en utilisant la méthode subplots(). La première sous-tracé ou les axes du haut peuvent être manipulés avec le premier élément de la liste ax, et la deuxième sous-tracé ou les axes du bas peuvent être manipulés avec le deuxième élément de la liste ax.

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [i ** 2 for i in x]
y2 = [4 * i + 1 for i in x]

fig, ax = plt.subplots(2, 1)

ax[0].plot(x, y1)
ax[0].set_xlabel("X")
ax[0].set_ylabel("Y")

ax[1].plot(x, y2)
ax[1].set_xlabel("X")
ax[1].set_ylabel("Y")

plt.tight_layout()
plt.show()

Production :

Personnalisation des sous-tracés pour un matplotlib de figure en utilisant la méthode des sous-tracés

Il génère une figure avec deux sous-parcelles, trace la fonction x^2 dans la sous-parcelle du haut, et trace la fonction 4x+1 dans la sous-parcelle du bas.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Article connexe - Matplotlib Subplot