首頁 >後端開發 >Python教學 >如何在多個 Matplotlib 子圖中有效率地建立和繪圖?

如何在多個 Matplotlib 子圖中有效率地建立和繪圖?

Susan Sarandon
Susan Sarandon原創
2024-12-20 13:57:09814瀏覽

How to Efficiently Create and Plot in Multiple Matplotlib Subplots?

在多個子圖中繪圖

可以透過多種方法在 Matplotlib 中建立多個子圖。理解fig和axes變數的作用至關重要。

fig,axes結構

在程式碼片段fig,axes = plt.subplots(nrows=2 , ncols=2)、fig 和axes 分別分配給傳回的figure 和Axes 物件的二維數組。軸數組包含各個子圖,可以對特定子圖進行後續繪圖操作。

子圖的替代方法

雖然subplots 方法同時建立一個圖形及其子圖,但它是也可以單獨建立:

fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)

但是這種方法比較少首選,因為它需要額外的步驟來在每個子圖上繪製。

具有多個子圖的範例

考慮以下程式碼,該程式碼在四個子圖的每一個上繪製一條簡單曲線:

import matplotlib.pyplot as plt

x = range(10)
y = range(10)

fig, ax = plt.subplots(nrows=2, ncols=2)

for row in ax:
    for col in row:
        col.plot(x, y)

plt.show()

此程式碼產生一個包含四個子圖的圖形,每個子圖都有相同的曲線。 for 迴圈迭代 ax 陣列的行和列,將每個子圖指派給 col 變數進行繪圖。

另一種替代方法

雖然不那麼優雅,還可以手動建立並分別在每個子圖上繪製:

fig = plt.figure()

plt.subplot(2, 2, 1)
plt.plot(x, y)

plt.subplot(2, 2, 2)
plt.plot(x, y)

plt.subplot(2, 2, 3)
plt.plot(x, y)

plt.subplot(2, 2, 4)
plt.plot(x, y)

plt.show()

這種方法涉及手動建立一個圖形指定每個子圖的位置,然後在它們上繪圖。

以上是如何在多個 Matplotlib 子圖中有效率地建立和繪圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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