在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)
会产生
不是从left == 0
开始,而是从left - width/2 == -0.4
开始。如何解决这个问题?
答案 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'``