matplotlib的subplots組圖問題

看板Python作者 (小天使)時間4年前 (2020/05/05 13:39), 4年前編輯推噓3(3024)
留言27則, 6人參與, 4年前最新討論串1/1
菜鳥一枚 最近想用python繪圖, 使用matplotlib的 subplots函數來繪製直方圖的組圖 參考網路語法 改寫一些程式來符合自己研究的資料 但是我發現在組圖時失敗了 所有資料都擠在同一個圖表,其他則只有外框 完全不知道自己的程式那裡寫錯了 各位大神可以給我一點迷津嗎? https://i.imgur.com/0O7DEje.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.49.120 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1588657185.A.B87.html

05/05 14:34, 4年前 , 1F
fig=figure(5,5)
05/05 14:34, 1F

05/05 14:34, 4年前 , 2F
ax1=plt.subplot(1,2,1)
05/05 14:34, 2F

05/05 14:34, 4年前 , 3F
ax2=plt.subplot(1,2,2)
05/05 14:34, 3F

05/05 14:34, 4年前 , 4F
試試,我猜是這樣
05/05 14:34, 4F

05/05 14:34, 4年前 , 5F
fig=plt.figure才對
05/05 14:34, 5F
試過了,還是不行

05/05 16:34, 4年前 , 6F
axes[0,1]
05/05 16:34, 6F
試過了 還是不行 ※ 編輯: jezi1878 (49.216.49.120 臺灣), 05/05/2020 18:34:29

05/05 21:52, 4年前 , 7F
印象中 plt.subplot 的效果類似指定期中一個子區域繪圖
05/05 21:52, 7F

05/05 21:54, 4年前 , 8F
https://bit.ly/2z8L6mu 像這個範例
05/05 21:54, 8F

05/05 21:55, 4年前 , 9F
他分別指定 3*2 畫布的第 1~6 號區塊進行繪圖
05/05 21:55, 9F

05/05 21:56, 4年前 , 10F
你沒有進行子圖的指定,永遠都會畫在同個子圖
05/05 21:56, 10F

05/05 22:02, 4年前 , 11F
axes=axes.flatten(); axes[0或1].hist(自填); 這樣呢?
05/05 22:02, 11F

05/05 22:31, 4年前 , 12F
首先, plt(pyplot)和axes是兩個不同的object.
05/05 22:31, 12F

05/05 22:31, 4年前 , 13F
所以在你的例子中,你把兩個混用了 i.e.
05/05 22:31, 13F

05/05 22:33, 4年前 , 14F
axes[0] = plt.hist(...) 這邊你把plt.hist assign
05/05 22:33, 14F

05/05 22:33, 4年前 , 15F
到axes的array中.
05/05 22:33, 15F

05/05 22:35, 4年前 , 16F
再來就是plt只能畫單一張圖, 所以用plt畫的圖都會疊
05/05 22:35, 16F

05/05 22:36, 4年前 , 17F
加, 直至你使用plt.show()才會輸出並清空plt裡面的
05/05 22:36, 17F

05/05 22:36, 4年前 , 18F
圖.這就是你會什麼圖都疊在同一張
05/05 22:36, 18F

05/05 22:37, 4年前 , 19F
A worknig example would be:
05/05 22:37, 19F

05/05 22:37, 4年前 , 20F
樓上 他是一張圖要多張子圖,分別呈現在兩個子圖
05/05 22:37, 20F

05/05 22:38, 4年前 , 21F
fig, axes = subplot(1,2)
05/05 22:38, 21F

05/05 22:38, 4年前 , 22F
他的問題是所有繪製都畫在同一個子圖,而沒有分別呈現
05/05 22:38, 22F

05/05 22:40, 4年前 , 23F
axes[0].hist(data1)
05/05 22:40, 23F

05/05 22:41, 4年前 , 24F
axes[1].hist(data2)
05/05 22:41, 24F

05/05 22:53, 4年前 , 25F
我用jupyter notebook reproduce 一次 給你參考
05/05 22:53, 25F

05/05 22:53, 4年前 , 26F
感謝大大,成功了

05/06 13:46, 4年前 , 27F
google 莫凡 python,到裡面找數據分析,自己看吧
05/06 13:46, 27F
※ 編輯: jezi1878 (49.216.49.120 臺灣), 05/08/2020 13:51:37
文章代碼(AID): #1UiFmXk7 (Python)