Maison >développement back-end >Tutoriel Python >Comment réutiliser des objets AxesSubplot sur différentes figures dans Matplotlib ?
Partage d'objets AxesSubplot entre figures
Dans matplotlib, il est courant de créer des objets AxesSubplot à l'aide de la méthode Figure.add_subplot(). Cependant, vous souhaiterez peut-être dissocier la création de sous-intrigues d'axes des instances de figure pour les réutiliser dans différentes figures.
Créer des objets AxesSubplot indépendamment
Pour y parvenir, vous pouvez utiliser une approche alternative :
import matplotlib.pyplot as plt axes = plt.AxesSubplot(fig, 1, 1, 1) # Create an empty axes subplot axes.set_xlabel("X-Label") # Populate axes settings axes.set_ylabel("Y-Label")
Cela vous permet de créer un objet AxesSubplot sans l'associer à une figure spécifique.
Ajout d'objets AxesSubplot aux figures
Une fois que vous avez créé des sous-intrigues d'axes indépendamment, vous pouvez les ajouter aux figures en utilisant les méthodes suivantes :
# Add axes to figure 1 fig1 = plt.figure() fig1.axes.append(axes) # Add axes to figure 2 fig2 = plt.figure() fig2.axes.append(axes)
Réutilisation des haches Sous-intrigues
En ajoutant des sous-intrigues d'axes à plusieurs figures, vous pouvez les réutiliser facilement. Par exemple, vous pouvez définir une fonction pour tracer des données sur le sous-tracé des axes spécifié :
def plot_on_axes(axes, data): axes.plot(data)
Cette fonction peut ensuite être utilisée dans diverses figures pour tracer les mêmes données sur le sous-tracé des axes partagés.
Redimensionner les axes
Déplacer un objet AxesSubplot d'une figure à une autre peut nécessiter un redimensionnement pour correspondre au nouveau disposition de la figure. Pour redimensionner les axes, vous pouvez utiliser la méthode set_geometry() :
axes.set_geometry(1, 2, 1) # Update axes geometry for figure 1, with two columns
Exemple
L'extrait de code suivant montre comment créer et réutiliser des sous-tracés d'axes indépendamment :
import matplotlib.pyplot as plt # Create independent axes subplots ax1 = plt.AxesSubplot(None, 1, 1, 1) ax2 = plt.AxesSubplot(None, 1, 1, 1) # Populate axes settings ax1.set_xlabel("X1") ax1.set_ylabel("Y1") ax2.set_xlabel("X2") ax2.set_ylabel("Y2") # Add axes subplots to figure 1 fig1 = plt.figure() fig1.axes.append(ax1) fig1.axes.append(ax2) # Add axes subplots to figure 2 fig2 = plt.figure() fig2.axes.append(ax1) plt.show()
Cet exemple crée des sous-intrigues à deux axes, les ajoute à deux figures différentes et affiche eux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!