6

我注意到,当我的条形图中有 5 个或更少的数据条时,x 轴会自动添加额外的刻度: 在此处输入图像描述 我想要的是这样的:

在此处输入图像描述

有什么方法可以强制 matplotlib 为第一个图表的每个条生成一个刻度标签?

4

1 回答 1

20

bar方法接受一个参数align。将此参数设置为align='center'align在我们给它的 x 值的中心对齐条形,而不是在条形的左侧对齐(这是默认设置)。

然后使用该xticks方法指定 x 轴上有多少刻度以及放置它们的位置。

import matplotlib.pyplot as plot

x = range(1, 7)
y = (0, 300, 300, 290, 320, 315)
plot.bar(x, y, width=0.7, align="center")

ind = range(2, 7)    # the x locations for the groups
plot.xticks(ind, x)

plot.axhline(305, linewidth=3, color='r')

plot.show()

文档位于http://matplotlib.org/api/pyplot_api.html

于 2013-04-03T03:05:49.977 回答