亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何繪制具有不同 colspan 的四個子圖?

如何繪制具有不同 colspan 的四個子圖?

墨色風雨 2021-09-28 20:51:22
我嘗試使用matplotlib.pyplot如下方式擬合四張圖像:| plot1 | plot2||    plot3     ||    plot4     |我發現的大多數例子都涵蓋了三個這樣的圖:ax1 = plt.subplot(221)ax2 = plt.subplot(222)ax3 = plt.subplot(212)這成功地繪制了三個圖(但是,我不明白它是如何完成的ax3)?,F在,我想將情節 4 添加到此安排中。無論我嘗試什么,我都無法成功。你能指導我如何實現它嗎?
查看完整描述

2 回答

?
MYYA

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()

http://img1.sycdn.imooc.com//61530fe60001010204310283.jpg

查看完整回答
反對 回復 2021-09-28
?
ibeautiful

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 才能使用此表單。

http://img1.sycdn.imooc.com//61530ff60001460306360538.jpg

http://img1.sycdn.imooc.com//61530ffe0001c56306380536.jpg

查看完整回答
反對 回復 2021-09-28
  • 2 回答
  • 0 關注
  • 271 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號