[英]How to plot 2 histograms on 1 graph from pandas dataframe
我試圖繪制一個直方圖,顯示按性別消耗的 hotwings 的頻率計數。 它是 1 個圖中的兩個直方圖。
id Hotwings Beer Gender 1 4 24 F 2 5 0 F 3 5 12 F 4 6 12 F 5 7 12 F 6 7 12 F 7 7 24 M 8 8 24 F 9 8 0 M 10 8 12 M 11 9 24 F 12 11 24 F 13 11 24 M 14 12 30 F 15 12 30 F 16 13 24 F 17 13 36 F 18 13 30 M 19 13 30 M 20 14 30 F 21 14 36 F 22 14 48 M 23 16 36 M 24 16 36 M 25 17 36 M 26 17 42 M 27 18 30 M 28 18 30 M 29 21 36 M 30 21 42 M
這是我上面的數據集...
plt.hist([data["Hotwings"][data["Gender"]=='M']],[data["Hotwings"][data["Gender"]=='F']])
我一直接收的bins
一定是1d,當一個數組時,報錯。 我對如何繼續或是否有更好的方法使用 matplotlib 進行操作感到非常困惑。 謝謝!
編輯:我也試過這個:
plt.hist(dta[dta["Gender"]=='M'][data["Hotwings"]],[data["Gender"]=='F'][data["Hotwings"]])
我得到了一個關鍵錯誤:“ [Int64Index([ 4, 5, 5, 6, 7, 7, 7, 8, 8, 8, 9, 11, 11, 12, 12, 13, 13,\\n 13 , 13, 14, 14, 14, 16, 16, 17, 17, 18, 18, 21, 21],\\n dtype='int64')] 在 [columns]"
我真的很困惑,不確定如何並排制作酒吧
這將在同一圖表中顯示您的條形圖
plt.bar(dta[dta['Gender']=='F']['Hotwings']-1, dta[dta['Gender']=='F']['Beer'], 0.50, align='center', alpha=0.5, color='b')
plt.bar(dta[dta['Gender']=='M']['Hotwings']+1, dta[dta['Gender']=='M']['Beer'], 0.50, align='center', alpha=0.5, color='r')
plt.show()
並在您可以使用的不同 Graph 中顯示圖形。
sp = plt.subplot(2,2,1)
l1 = plt.bar(dta[dta['Gender']=='F']['Beer'], dta[dta['Gender']=='F']['Hotwings'], 3.0, align='center', alpha=0.5, color='b')
sp = plt.subplot(2,2,2)
l1 = plt.bar(dta[dta['Gender']=='M']['Beer'], dta[dta['Gender']=='M']['Hotwings'], 2.0, align='center', alpha=0.5, color='r')
plt.show()
data.groupby("Gender")["Hotwings"].plot(kind="hist")
plt.legend() # optional, but recommended
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.