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