如何在Matplotlib柱状图中重命名X轴的0、1刻度为对应预订状态?
解决方法
有两种简单方式可以修改X轴的标签文本:
方法1:先重命名索引再绘图
先获取预订状态的统计结果,把0、1对应的索引替换为目标名称后再绘图,这种方式能确保标签和数据完全对应:
# 获取预订完成状态的统计值 booking_counts = df['booking_complete'].value_counts() # 用字典映射重命名索引 booking_counts.index = booking_counts.index.map({0: 'Incomplete', 1: 'Complete'}) # 绘制柱状图 booking_counts.plot(kind='bar', title='Incomplete vs Complete bookings')
方法2:绘图后直接修改轴标签
先完成绘图,再获取坐标轴对象,直接设置X轴的标签文本:
# 绘图并保存坐标轴实例 ax = df['booking_complete'].value_counts().plot(kind='bar', title='Incomplete vs Complete bookings') # 设置X轴标签,rotation=0让标签横向显示,避免旋转 ax.set_xticklabels(['Incomplete', 'Complete'], rotation=0)
注意:如果你的统计结果顺序不是0在前、1在后,第二种方法里的标签顺序需要对应调整,第一种方法的字典映射则不会有这个问题,更稳妥。
内容的提问来源于stack exchange,提问作者iftikhar
相关产品推荐
相关产品推荐

