Python中plot绘制柱状图如何将x轴按0到23小时顺序排列
value_counts() 方法默认会按统计结果的频数从高到低排序,所以x轴的小时刻度不会按0到23的自然顺序排列,可通过以下两种方案调整:
- 方案1:直接按索引排序
当你的数据已经覆盖0~23全部小时时,直接调用sort_index()对统计结果按小时数值升序排列即可:train_data['hour_of_day'].value_counts().sort_index().plot(kind='bar') - 方案2:补全所有小时刻度
如果存在部分小时在数据中完全没有记录的情况,可通过reindex强制保留0~23的全部x轴刻度,缺失小时的统计值自动填充为0:train_data['hour_of_day'].value_counts().reindex(range(24), fill_value=0).plot(kind='bar')
如果需要调整x轴标签的显示角度,可以在plot方法中添加rot参数,比如设置rot=0让标签水平显示,更易读:
train_data['hour_of_day'].value_counts().sort_index().plot(kind='bar', rot=0)
内容的提问来源于stack exchange,提问作者Alex K
相关产品推荐
相关产品推荐

