首頁 >後端開發 >Python教學 >您可以在 Matplotlib 中獨立於圖形建立 AxesSubplot 物件嗎?

您可以在 Matplotlib 中獨立於圖形建立 AxesSubplot 物件嗎?

Patricia Arquette
Patricia Arquette原創
2024-11-13 00:46:02731瀏覽

Can You Create AxesSubplot Objects Independently of Figures in Matplotlib?

解耦AxesSubplot 建立和圖形添加

問題:

問題:對象。然而,這些物件通常在創建時綁定到圖形。這限制了跨多個圖形重複使用 AxesSubplots 的能力。

問題:是否可以獨立於 Figure 實例建立 AxesSubplot 對象,然後根據需要將它們添加到不同的圖形中?

答案:

是的,它可以在 matplotlib 中解耦 AxesSubplot 建立和圖形添加。主要有兩種方法:

  • 使用 Axes 實例傳遞函數:
  • 建立以 Axes 實例為參數的函數。
  • 在此函數中實作繪圖程式碼。
傳遞現有的或新建立的函數的 Axes 實例。

透過將相同的 Axes 實例傳遞給不同的函數調用,可以在多個圖形中重複使用相同的子圖。

  • 將軸附加到圖形:
  • 獨立於 Axes 實例Figure。
  • 使用Figure.axes.append() 方法將 Axes 實例加入Figure。
在append() 方法中指定所需的幾何圖形。

This方法允許跨多個圖形重複使用 Axes實例,無論圖形大小或圖形數量如何

範例程式碼:

import numpy as np
import matplotlib.pyplot as plt

def plot_sin(ax):
    x = np.linspace(0, 6 * np.pi, 100)
    ax.plot(x, np.sin(x))
    ax.set_ylabel('Yabba dabba do!')

fig1, (ax1, ax2) = plt.subplots(nrows=2)
plot_sin(ax1)
plot_sin(ax2)

fig2 = plt.figure()
ax3 = fig2.add_subplot(111)
plot_sin(ax3)

plt.show()

使用軸實例傳遞函數:

import numpy as np
import matplotlib.pyplot as plt

fig1 = plt.figure()
ax1 = fig1.add_subplot(111)

fig2 = plt.figure()
ax2 = fig2.add_subplot(111)
fig2.axes.append(ax1)

plt.show()
將軸附加到人物:

以上是您可以在 Matplotlib 中獨立於圖形建立 AxesSubplot 物件嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn