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!