plt.bar酒吧太远了,怎么解决?

时间:2018-01-05 15:23:22

标签: matplotlib bar-chart

在matplotlib版本2.0.0的help(plt.bar)中,它表示条形

[...] with rectangles bounded by:

  `left`, `left` + `width`, `bottom`, `bottom` + `height`
        (left, right, bottom and top edges)

然而,调用plt.bar(0, 1)会产生

enter image description here

不是从left == 0开始,而是从left - width/2 == -0.4开始。如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

简答:

plt.bar(0, 1, align="center")

为什么:

documentation on github说使用align=edge

现在默认为

(x - width/2, x + width/2, bottom, bottom + height)
  

[...] align 仅关键字参数控制是否解释 x   作为矩形的中心或左边缘。[...]

align : {'center', 'edge'}, optional, default: 'center'
    If 'center', interpret the *x* argument as the coordinates
    of the centers of the bars.  If 'edge', aligns bars by
    their left edges
    To align the bars on the right edge pass a negative
    *width* and ``align='edge'``