将元组列表绘制为直方图

时间:2018-01-04 02:18:29

标签: python-3.x matplotlib

我正在努力制作图表。 我有以下值的列表:

[('1', 2434), ('10', 6792), ('11', 5214), ('12', 3354), ('2', 2854), ('3', 5571), ('4', 5602), ('5', 5768), ('6', 7320), ('7', 7341), ('8', 7198), ('9', 6878)]

对于元组的第一个值,值的范围是1到12,因为我正在处理月度数据。

我正在以下列方式形成直方图:

lists = [('1', 2434), ('10', 6792), ('11', 5214), ('12', 3354), ('2', 2854), ('3', 5571), ('4', 5602), ('5', 5768), ('6', 7320), ('7', 7341), ('8', 7198), ('9', 6878)]
x, y = zip(*lists) # unpack a list of pairs into two tuples

plt.hist(lists)
plt.title('Monthly Trends in Chicago City')
plt.xlabel('Monthly')
plt.ylabel('Rides')
plt.show()

这是上一代码生成的图表。

非常感谢任何帮助。

chart image

1 个答案:

答案 0 :(得分:1)

x, y = zip(*lists) # unpack a list of pairs into two tuples
x_months=['Jan', 'Oct', 'Nov', 'Dec', 'Feb', 'March', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept']

plt.bar(x_months, y, color='b')
plt.xticks(x_months, x_months, rotation='vertical')
plt.tight_layout()
plt.show()

这解决了它。