2016-08-16 62 views
3

我想用熊猫制作多个堆积条形图。用熊猫定位多个堆积条形图

这里是一个示例代码:

import pandas as pd 

df = pd.DataFrame({'a':[10, 20], 'b': [15, 25], 'c': [35, 40], 'd':[45, 50]}, index=['john', 'bob']) 

ax = df[['a', 'c']].plot.bar(position=0, width=0.1, stacked=True) 
df[['b', 'd']].plot.bar(position=1, width=0.1, stacked=True, ax=ax) 

其中,在笔记本上,提供以下的输出:stacked bar plot

我现在面临的问题是,对于每一组中,条不我希望他们成为的顺序。该文档说明条形图的“位置”参数指定了条形的相对位置,其中0表示左边,1表示正确。但它似乎完全相反。我误解了什么?

回答

2

pd.Df.plot中的位置参数控制条形图布局的对齐。它类似于matplotlib条形图的align参数的相似性。

插图:

1.当position=0.5:[默认:中心对准]

df[['a', 'c']].plot.bar(position=0.5, width=0.1, stacked=True, ax=ax) 
df[['b', 'd']].plot.bar(position=0.5, width=0.1, stacked=True, ax=ax) 

该杆与X轴标签重合,如下所示: enter image description here 2.当position=0:[左/底部边缘对齐]

df[['a', 'c']].plot.bar(position=0, width=0.1, stacked=True, ax=ax) 
df[['b', 'd']].plot.bar(position=0, width=0.1, stacked=True, ax=ax) 

酒吧的最左边的部分与X轴标签如图所示: enter image description here

现在,您可以清楚地区分上述2个数字之间的差异。

+1

很好的答案,谢谢!接下来是一个后续问题:使用熊猫的绘图功能来绘制多重堆积条形图的正确方法是什么?我会有每个“组”4条。请告诉我,如果你认为我应该创建一个新的职位,而不是 – fireboot

+1

我觉得会更好。你也可以在该文章中包含一个样例'dataframe'。 –

+0

马上就能做到这一点,谢谢! – fireboot