私のデータは次のようになります。
m=pd.DataFrame({'model':['1','1','2','2','13','13'],'rate':randn(6)},index=['0', '0','1','1','2','2'])
因子プロットのx軸を[1,2,13]で並べ替えたいのですが、デフォルトは[1,13,2]です。
誰かがそれを変更する方法を知っていますか?
更新:私はそれを次のように理解したと思いますが、インデックスを使用してそれを行うより良い方法があるかもしれませんか?
sns.factorplot('model','rate',data=m,kind="bar",x_order=['1','2','13'])
投稿の更新は、それを行う正しい方法を示しています。つまり、x
値のリストをプロットしたい順序でorder
に渡す必要があります。数値データのデフォルトはソートされた順序でプロットされるため、数値がある場合は、文字列ではなく整数または浮動小数点数として保持するのが最善であり、「自然な」順序になります。
documentation から、seabornAPIが再び更新されたようです。引数x_order
はorder
に置き換える必要があります。
sns.factorplot('model', 'rate', data=m, kind="bar", order=['1','2','13'])
また、factorplot
は名前が変更されており、将来のリリースで削除される予定です。 catplot
に置き換えられます。
sns.catplot('model', 'rate', data=m, kind="bar", order=['1','2','13'])