作者jezi1878 (小天使)
看板Python
標題matplotlib的subplots組圖問題
時間Tue May 5 13:39:43 2020
菜鳥一枚
最近想用python繪圖,
使用matplotlib的 subplots函數來繪製直方圖的組圖
參考網路語法 改寫一些程式來符合自己研究的資料
但是我發現在組圖時失敗了
所有資料都擠在同一個圖表,其他則只有外框
完全不知道自己的程式那裡寫錯了
各位大神可以給我一點迷津嗎?
https://i.imgur.com/0O7DEje.jpg
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.49.120 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1588657185.A.B87.html
1F:推 aidansky0989: fig=figure(5,5)05/05 14:34
2F:→ aidansky0989: ax1=plt.subplot(1,2,1)05/05 14:34
3F:→ aidansky0989: ax2=plt.subplot(1,2,2)05/05 14:34
4F:→ aidansky0989: 試試,我猜是這樣05/05 14:34
5F:→ aidansky0989: fig=plt.figure才對 05/05 14:34
試過了,還是不行
6F:推 martin7887: axes[0,1]05/05 16:34
試過了 還是不行
※ 編輯: jezi1878 (49.216.49.120 臺灣), 05/05/2020 18:34:29
7F:→ s860134: 印象中 plt.subplot 的效果類似指定期中一個子區域繪圖05/05 21:52
9F:→ s860134: 他分別指定 3*2 畫布的第 1~6 號區塊進行繪圖05/05 21:55
10F:→ s860134: 你沒有進行子圖的指定,永遠都會畫在同個子圖05/05 21:56
11F:→ eooft: axes=axes.flatten(); axes[0或1].hist(自填); 這樣呢?05/05 22:02
12F:→ littlebo1990: 首先, plt(pyplot)和axes是兩個不同的object.05/05 22:31
13F:→ littlebo1990: 所以在你的例子中,你把兩個混用了 i.e.05/05 22:31
14F:→ littlebo1990: axes[0] = plt.hist(...) 這邊你把plt.hist assign05/05 22:33
15F:→ littlebo1990: 到axes的array中.05/05 22:33
16F:→ littlebo1990: 再來就是plt只能畫單一張圖, 所以用plt畫的圖都會疊05/05 22:35
17F:→ littlebo1990: 加, 直至你使用plt.show()才會輸出並清空plt裡面的05/05 22:36
18F:→ littlebo1990: 圖.這就是你會什麼圖都疊在同一張05/05 22:36
19F:→ littlebo1990: A worknig example would be:05/05 22:37
20F:→ s860134: 樓上 他是一張圖要多張子圖,分別呈現在兩個子圖 05/05 22:37
21F:→ littlebo1990: fig, axes = subplot(1,2) 05/05 22:38
22F:→ s860134: 他的問題是所有繪製都畫在同一個子圖,而沒有分別呈現 05/05 22:38
23F:→ littlebo1990: axes[0].hist(data1)05/05 22:40
24F:→ littlebo1990: axes[1].hist(data2)05/05 22:41
25F:→ littlebo1990: 我用jupyter notebook reproduce 一次 給你參考 05/05 22:53
感謝大大,成功了
27F:推 bugbug777: google 莫凡 python,到裡面找數據分析,自己看吧 05/06 13:46
※ 編輯: jezi1878 (49.216.49.120 臺灣), 05/08/2020 13:51:37