我有这样一个 Dataframe :
Names loc.items
Name1 343 1756
Name2 5 15
Name3 688 1667
Name4 88 444
Name5 1 1
....
Name99 22 111
很容易得到一个堆叠的条形图,其中名称在x轴上,堆叠的条形图在每个名称上。
我想反过来做。我想用两个堆叠的条形图,其中99个堆叠(名字在里面)来表示位置和项目。就像表格本身一样。每个名字(x)的堆叠对的厚度都是位置(x)和项目(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'])
2条答案
按热度按时间xmakbtuz1#
这是可能的,但我认为有很多行,所以100行的输出是不可读的:
一个可能的想法是过滤器名称,这里介于
Name1
和Name4
之间:lx0bsm1f2#