2 回答

TA貢獻1868條經驗 獲得超4個贊
您可以使用subplot2grid。這真的很方便。
文檔說
在網格中創建子圖。網格由形狀指定,在 loc 的位置,跨越每個方向的 rowspan 和 colspan 單元格。loc 的索引是從 0 開始的。
首先,您在(3,2)此處根據行數和列數定義大小。然后定義特定子圖的起始(行、列)位置。然后分配該特定子圖跨越的行/列數。行跨度和列跨度的關鍵字分別是rowspan和colspan。
import matplotlib.pyplot as plt
ax1 = plt.subplot2grid((3, 2), (0, 0), colspan=1)
ax2 = plt.subplot2grid((3, 2), (0, 1), colspan=1)
ax3 = plt.subplot2grid((3, 2), (1, 0), colspan=2)
ax4 = plt.subplot2grid((3, 2), (2, 0), colspan=2)
plt.tight_layout()

TA貢獻1993條經驗 獲得超6個贊
您提供給 subplot 的整數實際上是 3 部分:
第一位:行數
第二位:列數
第三位:索引
因此,對于每次調用子圖,我們指定應如何劃分繪圖區域(使用行和列),然后將繪圖放入哪個區域(使用索引),請參見下圖。
ax1 = plt.subplot(321) # 3 rows, 2 cols, index 1: col 1 on row 1ax2 = plt.subplot(322) # 3 rows, 2 cols, index 2: col 2 on row 1ax3 = plt.subplot(312) # 3 rows, 1 cols, index 2: col 1 on row 2ax4 = plt.subplot(313) # 3 rows, 1 cols, index 3: col 1 on row 3
從文檔:
描述子圖位置的 3 位整數或三個單獨的整數。如果三個整數依次為 nrows、ncols 和 index,則子圖將在具有 nrows 行和 ncols 列的網格上占據索引位置。索引從左上角的 1 開始,向右增加。
pos 是一個三位整數,其中第一位是行數,第二位是列數,第三位是子圖的索引。即 fig.add_subplot(235) 與 fig.add_subplot(2, 3, 5) 相同。請注意,所有整數必須小于 10 才能使用此表單。
添加回答
舉報