[英]pandas, matplotlib, drawing a stacked bar chart
我有一個這樣的數據框:
Names loc.items
Name1 343 1756
Name2 5 15
Name3 688 1667
Name4 88 444
Name5 1 1
....
Name99 22 111
很容易得到一個堆疊條,其中名稱在 x 軸上並且堆疊條在每個名稱上。
我想反過來。 我想要兩個帶有 99 個堆疊(內部名稱)的堆疊條用於位置和項目。 就像桌子本身一樣。 Name(x) 的每個堆棧對都有 loc.(x) 和 items(x) 的厚度 我怎樣才能制作這個圖表?
這個:
myclist[[ myclist.loc[:,"names"]]].plot(x='carrier', kind='bar', stacked=True)
或者這種方法
# plot data in stack manner of bar type
df.plot(x='Carrier', kind='bar', stacked=True,
title='Stacked Bar Graph by dataframe')
plt.show()
不起作用。 如果數據框如下所示,它就可以工作。 但是(手動)編寫為系列“位置”和“項目”以及單獨的“列”它可以工作。 我認為它應該是同一件事,但似乎並非如此:
df = pd.DataFrame([['location', 10, 20, 10, 26], ['items', 20, 25, 15, 21]],
columns=['Names', 'Name1', 'Name2','Name3', 'Name99'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.