在多個子圖中繪圖
可以透過多種方法在 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中文網其他相關文章!