Je souhaite définir des paramètres communs tels que des grilles et des étiquettes pour tous les axes dessinés avec le sous-tracé de matplotlib.
# 1.Obtenez une liste d'axes
axs = plt.gcf().get_axes()
# 2.Boucle pour chaque axe
for ax in axs:
# 3.Changer l'axe actuel
plt.axes(ax)
import matplotlib.pyplot as plt
import numpy as np
#Les données
x = np.linspace(-np.pi, np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# figure
plt.figure(figsize=(8,4))
#Parcelle 1
plt.subplot(1,2,1)
plt.plot(x,y1,label='sin')
#Parcelle 2
plt.subplot(1,2,2)
plt.plot(x,y2,label='cos')
#Obtenez une liste d'axes
axs = plt.gcf().get_axes()
#Boucle pour chaque axe
for ax in axs:
#Changer l'axe actuel
plt.axes(ax)
#Afficher la légende
plt.legend(loc=2)
#la grille
plt.grid(linestyle='--')
#Étiquette d'axe
plt.xlabel('x')
plt.ylabel('y')
#Gamme d'axes
plt.xlim([-np.pi, np.pi])
plt.ylim([ -1.2, 1.2])
#Ajustement de la figure
plt.tight_layout()
# 1.Répertoriez les données et les étiquettes.
Y = [y1, y2]
lbls = ['sin', 'cos']
# 2.Boucle en utilisant enumerate
for i, y in enumerate(Y):
# 3. plt.subplot est+N'oubliez pas de
plt.subplot(1,2,i+1)
# figure
plt.figure(figsize=(8,4))
# list
Y = [y1, y2]
lbls = ['sin', 'cos']
for i, y in enumerate(Y):
#Sous-parcelle
plt.subplot(1,2,i+1)
#terrain
plt.plot(x,y,label=lbls[i])
#Afficher la légende
plt.legend(loc=2)
#la grille
plt.grid(linestyle='--')
#Étiquette d'axe
plt.xlabel('x')
plt.ylabel('y')
#Gamme d'axes
plt.xlim([-np.pi, np.pi])
plt.ylim([ -1.2, 1.2])
#Ajustement de la figure
plt.tight_layout()
gca, gcf Vous pouvez obtenir la figure courante avec plt.gcf () et les axes courants avec plt.gca (). Vous pouvez également spécifier l'axe actuel avec plt.axes ().
La figure de matplotlib a une structure hiérarchique comme le montre la figure ci-dessous, comme MATLAB.
Il y a des axes sur la figure et des lignes dans les axes. Vous pouvez obtenir une liste de tous les axes de la figure courante avec plt.gcf (). Get_axes (). De plus, plt.gca (). Get_lines () peut récupérer toutes les lignes dans les axes courants.
Recommended Posts