避免对值条形图进行排序

时间:2020-01-29 11:33:12

标签: python matplotlib plot bar-chart

在以下条形图中寻找一种避免按值自动排序的方法:enter image description here

目标是使x轴标签作为排序值(例如1950、1951,...,2001、2002),而不是图形中的按值排序。

2 个答案:

答案 0 :(得分:0)

在脚本的value_counts部分之后添加sort_index()。在绘制数据之前,应该按照出生年份对数据进行排序。

应该是。

df['birth_year'].value_counts().sort_index().plot(kind='bar') ......

答案 1 :(得分:0)

问题是value_counts返回一个按值排序的序列。

@jawsem的解决方案按索引排序,作为一种替代解决方案,您还可以对行进行分组和计数:

df.groupby('birth_year').size().plot(kind='bar') ......