Wiederverwendbare AxesSubplot-Objekte in Matplotlib erstellen
Matplotlib stellt die Figure.add_subplot-Methode als Standardansatz zum Hinzufügen von AxesSubplot-Objekten zu einer Figur bereit. Obwohl dies effektiv ist, kann es Szenarios geben, in denen es wünschenswert ist, AxesSubplot-Objekte unabhängig von der Figur zu erstellen.
Um die AxesSubplot-Erstellung von Figureninstanzen zu entkoppeln, kann man die Leistungsfähigkeit der Übergabe von Achseninstanzen an Funktionen nutzen. Zum Beispiel:
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!')
In diesem Beispiel verwendet die Plotfunktion ein optionales Achsenargument, was Flexibilität bei der Verwendung bietet:
# 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()
Zusätzlich können Achseninstanzen an vorhandene Figuren angehängt werden , was eine Wiederverwendung ermöglicht:
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()
Während es möglicherweise möglich ist, die Achseninstanz weiter anzupassen, um sie an bestimmte „Formen“ anzupassen, ist die Weitergabe von Figuren einfacher und Achseninstanzen oder Instanzlisten sind für komplexe Szenarien im Allgemeinen praktischer und effizienter.
Das obige ist der detaillierte Inhalt vonWie kann ich wiederverwendbare AxesSubplot-Objekte in Matplotlib erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!