Ajouter une sous-parcelle à une figure dans Matplotlib
-
Ajouter des sous-images à une figure en utilisant la méthode
matplotlib.pyplot.figure.add_subplot()
-
Créer une figure avec des sous-tracé en utilisant
Matplotlib.pyplot.subplots()
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 :
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 :
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 :
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 :
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.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn