matplotlib.plot的x轴标签显示顺序问题

最近在学习利用python进行数据分析,在kaggle上找了一个案例Hotel booking demand,我选择了最高投票的分析结果EDA of bookings and ML to predict cancelations,打算按照他的代码自己手写一遍。

在写到一半时,影像显示出现了问题。我在用pd.Categorical函数进行排序后,影像的x轴标签顺序仍不对。

代码:
在这里插入图片描述
x轴的标签为月份,从April开始(已经无法还原之前的错误影像,之前的影像折线从January开始,折线图比现在的影像更混乱)。
错误影像结果:
在这里插入图片描述
正确影像结果:
正确结果
在经过几天空闲时间的尝试,我找到了两种解决方法:

方法一:
先对数据按照月份进行排序;
增加列label_index,label_index的值为数字,顺序与月份顺序对应;
在这里插入图片描述
开始设置影像,将x轴的数据设置为label_index;
最后在显示x轴标签时利用plt.xticks()函数进行替换;
在这里插入图片描述

方法二:
查看seaborn的版本:pip show seaborn;
将seaborn的版本更新到0.10.0:pip install seaborn==0.10.0
影像显示正确了。
在这里插入图片描述
PS:pd.Categorical和seaborn的兼容性问题造成了影像显示顺序的错误(TMD)。不确定是否是0.10.0版本才解决兼容性问题,但是我是更新成此版本后影像才正确显示。

PPS:我的开发环境是WIN10+python3.6+VSCode+Anaconda3.5

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐