Création d'objets AxesSubplot réutilisables dans Matplotlib
Matplotlib fournit la méthode Figure.add_subplot comme approche standard pour ajouter des objets AxesSubplot à une figure. Bien que cela soit efficace, il peut y avoir des scénarios dans lesquels la création d'objets AxesSubplot indépendamment de la figure est souhaitable.
Pour dissocier la création d'AxesSubplot des instances de figure, on peut exploiter la puissance de la transmission des instances d'axes aux fonctions. Par exemple :
def plot(x, y, ax=None): if ax is None: ax = plt.gca() # Get the current axes instance (default) ax.plot(x, y, 'go') ax.set_ylabel('Yabba dabba do!')
Dans cet exemple, la fonction plot prend un argument d'axes facultatif, offrant une flexibilité dans son utilisation :
# Create a figure with two subplots fig1, (ax1, ax2) = plt.subplots(nrows=2) plot(x, np.sin(x), ax1) # Use the first axes instance plot(x, np.random.random(100), ax2) # Use the second axes instance # Create a new figure fig2 = plt.figure() plot(x, np.cos(x)) # Use the new figure's axes instance plt.show()
De plus, les instances d'axes peuvent être ajoutées aux figures existantes , permettant la réutilisation :
import matplotlib.pyplot as plt # Create an axes instance ax = plt.gca() ax.plot(range(10)) # Create a new figure fig2 = plt.figure() fig2.axes.append(ax) # Add the existing axes instance to the new figure plt.show()
Bien qu'il soit possible de personnaliser davantage l'instance d'axes pour l'adapter à des "formes" spécifiques, la facilité de transmission des figures et axer les instances ou les listes d'instances est généralement plus pratique et efficace pour les scénarios complexes.
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!