Maison >développement back-end >Tutoriel Python >Comment réutiliser des objets AxesSubplot sur différentes figures dans Matplotlib ?

Comment réutiliser des objets AxesSubplot sur différentes figures dans Matplotlib ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-28 16:18:11563parcourir

How to Reuse AxesSubplot Objects Across Different Figures in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn