绘制 x 轴范围的条形图 -Python

Plotting bar graph with the range in the x- axis -Python

假设我有如下数据,我想绘制一个条形图,它将范围的每个值显示为 x 轴中的单独条形和 ya 轴中的计数。

                 range  count
0                  0-2  172
1                02-05   82
2                05-10  117
3                10-15  164
4                15-20  141
5         20 and above  380

我尝试了以下方法,

plt.bar(a['range'], a['count'], color='blue')

但是我收到以下错误,

ValueError: invalid literal for float(): 0-2

我试着把它转换成字符串。结果还是一样。有人可以帮我在这里策划吗?

谢谢

如果您查看 plt.bar 的文档,您需要将所需条形图的左边缘指定为第一个参数,而不是标签。要指定 xtick 标签,您需要使用 plt.xticks 函数。像这样:

plt.bar(range(len(a['count'])), a['count'], color='blue')
plt.xticks(range(len(a['count'])), a['range'])