第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

使用數(shù)據(jù)框的切片時如何使子圖正常工作

使用數(shù)據(jù)框的切片時如何使子圖正常工作

心有法竹 2023-03-16 10:58:43
我正在嘗試繪制 4 個子圖,將大數(shù)據(jù)框分成較小的部分,這樣條形圖就不會過于龐大和難以閱讀。我已將切片分開并將它們分別分配給單獨的數(shù)據(jù)幀。我正在使用的數(shù)據(jù)框如下所示(此數(shù)據(jù)框是多索引數(shù)據(jù)框 (df.unstack()) 的 unstack 輸出):Age Range   40-49  50-59  60-69  70-79  80+County                                     Allen         NaN    NaN    NaN    NaN  1.0Athens        NaN    NaN    1.0    NaN  NaNBelmont       NaN    1.0    NaN    1.0  1.0Clark         NaN    NaN    NaN    1.0  NaNColumbiana    NaN    NaN    NaN    1.0  NaNCuyahoga      NaN    3.0    1.0    7.0  3.0Defiance      NaN    NaN    NaN    NaN  1.0Franklin      NaN    NaN    4.0    1.0  3.0Greene        NaN    NaN    1.0    NaN  NaNHamilton      NaN    1.0    2.0    1.0  7.0Hocking       NaN    NaN    NaN    1.0  NaNKnox          NaN    NaN    NaN    NaN  1.0Lorain        NaN    NaN    NaN    2.0  NaNLucas         NaN    NaN    1.0    NaN  2.0Madison       1.0    NaN    NaN    NaN  NaNMahoning      NaN    1.0    NaN    1.0  2.0Medina        NaN    1.0    NaN    NaN  NaNMiami         NaN    NaN    1.0    NaN  1.0Pickaway      NaN    NaN    NaN    1.0  NaNPortage       1.0    NaN    NaN    2.0  NaNRoss          NaN    NaN    NaN    1.0  NaNSeneca        NaN    NaN    NaN    NaN  1.0Shelby        NaN    NaN    NaN    NaN  1.0Stark         NaN    NaN    NaN    1.0  NaNSummit        NaN    NaN    NaN    1.0  NaNTrumbull      NaN    NaN    NaN    1.0  1.0Warren        NaN    1.0    NaN    NaN  2.0我使用以下代碼將它們分成 4 個相等的切片并將它們分配給各個數(shù)據(jù)幀:df1 = df.unstack()[:7]df2 = df.unstack()[7:14]df3 = df.unstack()[14:21]df4 = df.unstack()[21:]然后我使用以下代碼將它們繪制為子圖:plt.subplot(221)df1.plot(kind='bar')plt.subplot(222)df2.plot(kind='bar')plt.subplot(223)df3.plot(kind='bar')plt.subplot(224)df4.plot(kind='bar')plt.show()當我運行此代碼時,它會輸出四個空白子圖(它們采用 4 行 1 列格式),然后在這四個之后它僅繪制最后一個子圖 (df4)。如果我注釋掉 plt.subplot() 行,則繪圖會正確輸出。我以前以類似的格式繪制過類似的東西,所以我不確定為什么它不會以相同的方式運行,這可能與使用切片有關嗎?
查看完整描述

1 回答

?
喵喵時光機

TA貢獻1846條經(jīng)驗 獲得超7個贊

要在 matplotlib 子圖上繪制 pandas.DataFrame,您需要:

  1. 將調(diào)用返回的軸存儲plt.subplot()到一個變量中,然后您可以

  2. 傳遞這個軸來pandas.DataFrame.plot()調(diào)用

喜歡:

ax1 = plt.subplot(221)
df1.plot(kind='bar', ax = ax1)

因為你沒有這樣做,所以每個新的plt.subplot()調(diào)用都會創(chuàng)建新的數(shù)字并覆蓋調(diào)用創(chuàng)建的數(shù)字pandas.DataFrame.plot(),因此你會得到 4 個空圖的數(shù)字和一個來自df4.plot(kind='bar')

你應該做什么:

ax1 = plt.subplot(221)

df1.plot(kind='bar', ax = ax1)


ax2 = plt.subplot(222)

df2.plot(kind='bar', ax = ax2)


ax3 = plt.subplot(223)

df3.plot(kind='bar', ax = ax3)


ax4 = plt.subplot(224)

df4.plot(kind='bar', ax = ax4)


plt.show()

使用 DataFrame 的前兩列的示例輸出:

http://img1.sycdn.imooc.com//6412861700013bf103680248.jpg

查看完整回答
反對 回復 2023-03-16
  • 1 回答
  • 0 關注
  • 79 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號