我的数据如下:
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)
我想重新命令Fx成为最左边的等等
我可以做sns.barplot(x="Shkala", y="Ves", data=df, order=['Fx', ......)
,但这很长
是否有更短的方式?
答案 0 :(得分:3)
在绘制之前反转两个列表:
df["Shkala"].reverse()
df["Ves"].reverse()
如果您需要数据保持现有格式,请创建一个重复字典以供使用或生成您的订单,如下所示:
order = list(reversed(df["Shkala"]))
并将其传递为order = order