Matplotlib条形图顺序不按字母顺序排列

时间:2018-03-17 07:13:35

标签: python pandas matplotlib bar-chart

我有一个数据框,其中单词作为索引,我按列对DF进行排序。现在当我尝试用pyplot绘制它时,它总是按字母顺序排列x轴而不是pandas的行为。情节或海底。是否有任何其他方式保持我的订单,而不是使用数字按照我想要的方式订购,然后更改标签或不使用plt? (例如,这是解决方案here,但常见的answer是使用我知道可行的df.plot)

正如您在条形图中看到的那样,plt会考虑提供的顺序来设置色标,然后将列重新排序为字母。

这个问题不仅发生在我的情况下,而且每当我尝试使用字符串列作为x轴时。

In [95]:
    income2012g10k = income2012[income2012['Income'] > 10000]
    grouped10kC = income2012g10k.groupby('Region').count()
    groupedC = income2012.groupby('Region').count()
    groupedC['Income'] = grouped10kC['Income']
    groupedC['Proportion'] = groupedC['Income']/groupedC['Country']
    groupedC.sort_values('Proportion', inplace=True)
    plt.figure(figsize=(12,4))
    plt.bar(groupedC.index,groupedC['Proportion']
            ,color=sns.color_palette('Blues'))
    sns.despine()
    groupedC
Out[95]:
         Country    Income  Proportion
Region          
AFRICA  50  10  0.200000
OCEANIA 13  4   0.307692
ASIA    37  21  0.567568
NORTH AMERICA   20  13  0.650000
SOUTH AMERICA   12  9   0.750000
EUROPE  44  37  0.840909

Bar plot

0 个答案:

没有答案