跨圖形共享 AxesSubplot 物件
在 matplotlib 中,通常使用 Figure.add_subplot() 方法建立 AxesSubplot 物件。但是,您可能希望將軸子圖的建立與圖形實例分離,以便在不同的圖形中重複使用它們。
獨立建立AxesSubplot 物件
要實現這一點,您可以利用替代方法:
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")
這允許您建立AxesSubplot 對象,而無需將其與特定圖形關聯起來。
將 AxesSubplot 物件加入圖形
獨立建立軸子圖後,可以使用下列方法將它們新增至圖形:
# Add axes to figure 1 fig1 = plt.figure() fig1.axes.append(axes) # Add axes to figure 2 fig2 = plt.figure() fig2.axes.append(axes)
重複使用軸子圖
透過向多個圖形添加軸子圖,您可以輕鬆地重複使用它們。例如,您可以定義一個函數來在指定的軸子圖上繪製資料:
def plot_on_axes(axes, data): axes.plot(data)
然後可以在各種圖形中使用此函數在共用軸子圖上繪製相同的資料。
調整軸的大小
將 AxesSubplot 物件從一個圖形移動到另一個圖形可能需要調整大小以符合新人物的佈局。若要調整座標區的大小,您可以使用set_geometry() 方法:
axes.set_geometry(1, 2, 1) # Update axes geometry for figure 1, with two columns
範例
以下程式碼片段示範如何獨立建立和重複使用座標區子圖:
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()
此範例建立兩個軸子圖,將它們新增到兩個不同的圖形中,並顯示他們。
以上是如何在 Matplotlib 中的不同圖形中重複使用 AxesSubplot 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!