Python 使用matplotlib在x轴上自定义分类变量排序
我想按我指定的顺序订购x轴上的月份。我在谷歌上搜索了很多地方,想知道怎么做,但运气不好。我非常熟悉R语言,在R中使用Python 使用matplotlib在x轴上自定义分类变量排序,python,matplotlib,Python,Matplotlib,我想按我指定的顺序订购x轴上的月份。我在谷歌上搜索了很多地方,想知道怎么做,但运气不好。我非常熟悉R语言,在R中使用因子类和它的级别可以很容易地做到这一点。但我对python比较陌生,我从阅读中学到的是,python中的category dtype与R中的factor最接近。然而,这两种语言中的类似乎有一个主要的行为差异。使用pyplot.bar()绘制时,没有对分类顺序进行排序,但在seaborn条形图中,相同的绘图顺序正确 pyplot.bar()的数据帧中是否有自定义分类变量顺序的选项
因子类和它的级别可以很容易地做到这一点。但我对python比较陌生,我从阅读中学到的是,python中的category dtype
与R中的factor
最接近。然而,这两种语言中的类似乎有一个主要的行为差异。使用pyplot.bar()
绘制时,没有对分类顺序进行排序,但在seaborn
条形图中,相同的绘图顺序正确
pyplot.bar()的数据帧中是否有自定义分类变量顺序的选项
已解决
matplotlib的版本可能有错误。阅读后,我将版本更新为2.2.2,一切正常(即,axis按照设置类别时提供的顺序进行排序。我还使用下面的代码设置类别
TestData['Month'] = pd.Categorical(TestData['Month'], categories = MonthLabels , ordered = True)
这可能会有所帮助;从以下方面:
注意新分类数据不会自动排序。您必须显式传递ordered=True
以指示已排序的分类
尝试了,但没有成功。我将更改代码以反映这一点
TestData['Month'] = pd.Categorical(TestData['Month'], categories = MonthLabels , ordered = True)