看板 Python 關於我們 聯絡資訊
菜鳥一枚 最近想用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
aidansky0989: fig=figure(5,5)05/05 14:34
aidansky0989: ax1=plt.subplot(1,2,1)05/05 14:34
aidansky0989: ax2=plt.subplot(1,2,2)05/05 14:34
aidansky0989: 試試,我猜是這樣05/05 14:34
aidansky0989: fig=plt.figure才對 05/05 14:34
試過了,還是不行
martin7887: axes[0,1]05/05 16:34
試過了 還是不行 ※ 編輯: jezi1878 (49.216.49.120 臺灣), 05/05/2020 18:34:29
s860134: 印象中 plt.subplot 的效果類似指定期中一個子區域繪圖05/05 21:52
s860134: https://bit.ly/2z8L6mu 像這個範例05/05 21:54
s860134: 他分別指定 3*2 畫布的第 1~6 號區塊進行繪圖05/05 21:55
s860134: 你沒有進行子圖的指定,永遠都會畫在同個子圖05/05 21:56
eooft: axes=axes.flatten(); axes[0或1].hist(自填); 這樣呢?05/05 22:02
littlebo1990: 首先, plt(pyplot)和axes是兩個不同的object.05/05 22:31
littlebo1990: 所以在你的例子中,你把兩個混用了 i.e.05/05 22:31
littlebo1990: axes[0] = plt.hist(...) 這邊你把plt.hist assign05/05 22:33
littlebo1990: 到axes的array中.05/05 22:33
littlebo1990: 再來就是plt只能畫單一張圖, 所以用plt畫的圖都會疊05/05 22:35
littlebo1990: 加, 直至你使用plt.show()才會輸出並清空plt裡面的05/05 22:36
littlebo1990: 圖.這就是你會什麼圖都疊在同一張05/05 22:36
littlebo1990: A worknig example would be:05/05 22:37
s860134: 樓上 他是一張圖要多張子圖,分別呈現在兩個子圖 05/05 22:37
littlebo1990: fig, axes = subplot(1,2) 05/05 22:38
s860134: 他的問題是所有繪製都畫在同一個子圖,而沒有分別呈現 05/05 22:38
littlebo1990: axes[0].hist(data1)05/05 22:40
littlebo1990: axes[1].hist(data2)05/05 22:41
littlebo1990: 我用jupyter notebook reproduce 一次 給你參考 05/05 22:53
littlebo1990: https://imgur.com/a/VXYGQsl 05/05 22:53
感謝大大,成功了
bugbug777: google 莫凡 python,到裡面找數據分析,自己看吧 05/06 13:46
※ 編輯: jezi1878 (49.216.49.120 臺灣), 05/08/2020 13:51:37