Поворот xtick этикетки в Seaborn boxplot?

у меня есть вопрос, который в основном такой же, как вопрос с 2014 года (см. здесь). Однако мой сценарий все равно выдает ошибку.

вот что я делаю: у меня есть фрейм данных pandas с несколькими столбцами. Я строю простое сравнение boxplot.

g = sns.boxplot(x='categories', y='oxygen', hue='target', data=df)
g.set_xticklabels(rotation=30)

график выглядит так:

enter image description here

Я хотел бы повернуть x-метки на 30 градусов. Поэтому я использую g.set_xticklabels(rotation=30). Однако я получаю следующую ошибку:

set_xticklabels() missing 1 required positional argument: 'labels'

Я не знаю, как передать matplotlib

1 ответов


вопрос, на который вы ссылаетесь, использует factorplot. Factorplot возвращает свой собственный класс, который имеет метод set_xticklabels(rotation). Это отличается от set_xticklabels метод matplotlib Axes.

в ответ на связанный вопрос есть и другие варианты, которые вы можете использовать

ax = sns.boxplot(x='categories', y='oxygen', hue='target', data=df)
ax.set_xticklabels(ax.get_xticklabels(),rotation=30)

или

ax = sns.boxplot(x='categories', y='oxygen', hue='target', data=df)
plt.setp(ax.get_xticklabels(), rotation=45)