如何改变秩序barplot seaborn

时间:2016-03-15 14:36:21

标签: python bar-chart seaborn

我的数据如下:

df = {u'Shkala' : [u'Wo', u' In', u'Ami', u'Tm', u'Re', u' Em', u'Leo', u' Ai', u' Sc',
    u'Ct', u' Cm', u'Py', u'Ac', u' Ie', u' Cs', u'Mp', u'Do', u' So',
    u'F/m', u'Lp', u' Sy', u' To', u' Gi', u' Sa', u' Wb', u' Sp', u' Fx'],
     u'Ves' :[   0.19110365,    0.27188837,    0.38561317,    1.05786403,
       1.92149932,    2.07645852,    2.54917337,    2.69292373,
       2.79209552,    3.69240049,    4.01010531,    4.42329527,
       4.47754007,    6.19537683,    6.29601984,    8.59108183,
       9.71862514,   10.30682861,   13.02674381,   13.65991585,
      14.02427094,   17.58381143,   25.72956782,   29.18101805,
      30.63714233,   63.52051974,  100.        ]}

我做

import seaborn as sns
sns.barplot(x="Shkala", y="Ves", data=df)

我明白了 enter image description here

我想重新命令Fx成为最左边的等等 我可以做sns.barplot(x="Shkala", y="Ves", data=df, order=['Fx', ......),但这很长 是否有更短的方式?

1 个答案:

答案 0 :(得分:3)

在绘制之前反转两个列表:

df["Shkala"].reverse()
df["Ves"].reverse()

如果您需要数据保持现有格式,请创建一个重复字典以供使用或生成您的订单,如下所示:

order = list(reversed(df["Shkala"]))

并将其传递为order = order