我正在尝试用熊猫制作一个多叠的条形图。
以下是示例代码:
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)
我面临的问题是,对于每个组,条形图不符合我希望它们的顺序。文档说条形图的“位置”参数指定条形图的相对位置,其中0表示左侧,1表示右侧。但似乎完全相反。我误解了什么?
答案 0 :(得分: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轴标签重合,如下所示:
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)
现在,您可以清楚地区分上述两个数字之间的差异。