Как изменить порядок участка фактора в морском

Мои данные выглядят так:

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'])

Ответ 1

Ваше сообщение на сообщение показывает правильный способ его выполнения, т.е. вы должны передать список значений x в order в том порядке, в котором они будут отображаться. Значение по умолчанию для числовых данных - это график в отсортированном порядке, поэтому, если у вас есть числовые значения, лучше сохранить их целыми числами или плавать вместо строк, чтобы они были в "естественном" порядке.

Ответ 2

Из документации видно, что seaborn API снова обновился, аргумент 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'])