Matplotlib - 查找条形图宽度值

时间:2017-05-15 19:33:17

标签: python pandas matplotlib

希望这里有一个相对简单的问题 - 我有两个我正在绘制的条形图。其中一个具有更多类别,因此每个条的宽度更小。请参阅下面的示例代码/图表(简单,标准绘图):

java.lang.ArrayIndexOutOfBoundsException: xxx

如果左图有12条,右图有8条,我怎样才能确保条数较少的图形具有相同的条宽?我知道我可以在每个中定义宽度,但我想知道ax2是否可以从ax1访问此值?谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

In [147]: [p.get_width() for p in ax1.patches]
Out[147]: [0.5, 0.5, 0.5, 0.5, 0.5]

答案 1 :(得分:1)

请注意,这些条实际上具有相同的宽度。它们都是0.8个数据单位。但是,由于左轴范围较大,因此一个数据单元小于右轴。

您可以做的是在两种情况下使用相同的数据范围,例如通过共享x轴,

plt.subplots(1, 2, sharey=True, sharex=True)