Maison >développement back-end >Tutoriel Python >Les objets AxesSubPlot peuvent-ils être créés indépendamment des figures dans Matplotlib ?

Les objets AxesSubPlot peuvent-ils être créés indépendamment des figures dans Matplotlib ?

DDD
DDDoriginal
2024-11-13 08:51:02246parcourir

Can AxesSubPlot Objects Be Created Independently of Figures in Matplotlib?

La création indépendante d'objets AxesSubPlot est-elle possible ?

Comme le suggère la documentation matplotlib, la création d'instances AxesSubPlot dans une figure est généralement réalisée via Figure. add_subplot. Cependant, il peut être souhaitable de créer ces objets indépendamment d'une figure, permettant leur réutilisation dans plusieurs figures.

Réutiliser AxesSubPlots dans différentes figures

Malgré l'impossibilité de créer pour découpler totalement la création d'axes des figures, il est possible de réutiliser des axes précédemment créés dans des figures nouvelles ou existantes. Cela peut être accompli avec une fonction simple :

def plot_axes(ax, fig=None, geometry=(1, 1, 1)):
    if fig is None:
        fig = plt.figure()
    if ax.get_geometry() != geometry:
        ax.change_geometry(*geometry)
    ax = fig.axes.append(ax)
    return fig

Cette fonction prend une instance d'axe existante ax et l'ajoute éventuellement à une figure nouvelle ou existante, en s'assurant qu'elle a la géométrie spécifiée (lignes, colonnes, numéro au sein du groupe).

Exemple d'utilisation

Pour démontrer cette fonctionnalité, considérez ce qui suit code :

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 6 * np.pi, 100)

# Create axes subplots independently
ax1 = plt.axes()
ax2 = plt.axes()

# Add ax1 to figure 1
fig1 = plt.figure()
plt.axes.append(ax1)

# Add ax2 to figure 2
fig2 = plt.figure()
plt.axes.append(ax2)

# Plot data on ax1
ax1.plot(x, np.sin(x))
ax1.set_ylabel("Sin(x)")

# Plot data on ax2
ax2.plot(x, np.cos(x))
ax2.set_ylabel("Cos(x)")

plt.show()

Dans cet exemple, deux sous-intrigues d'axes sont créées indépendamment, puis ajoutées à deux figures distinctes. Chaque sous-parcelle contient ses propres données et étiquettes.

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