web-dev-qa-db-fra.com

Faire pivoter les étiquettes xtick dans le boxplot seaborn?

J'ai une question qui est fondamentalement la même qu'une question de retour de 2014 (voir ici ). Cependant, mon script génère toujours une erreur.

Voici ce que je fais: J'ai une trame de données pandas avec quelques colonnes. Je trace une simple comparaison de boxplot.

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

Le graphique ressemble à ceci:

enter image description here

Je voudrais faire pivoter les étiquettes X de 30 degrés. Par conséquent, j'utilise g.set_xticklabels(rotation=30). Cependant, j'obtiens l'erreur suivante:

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

Je ne sais pas comment passer l'argument matplotliblabels à seaborns sns.boxplot. Des idées?

19
Rachel

La question à laquelle vous créez un lien utilise un factorplot. Un factorplot renvoie sa propre classe qui a une méthode appelée set_xticklabels(rotation). Ceci est différent du set_xticklabels méthode du matplotlib Axes.

Dans les réponses à la question liée, il existe également d'autres options que vous pouvez utiliser

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

ou

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