Tourner les étiquettes de tique pour barplot seaborn

j'essaie d'afficher un graphique avec rotation x-étiquettes de l'axe, mais le tableau ne s'affiche pas.

import seaborn as sns
%matplotlib inline

yellow='#FFB11E'
by_school=sns.barplot(x ='Organization Name',y ='Score',data = combined.sort('Organization Name'),color=yellow,ci=None)

a ce point je peux voir l'image, mais après avoir réglé le xticklabel, Je ne vois plus l'image seulement une référence d'objet. (Je voudrais afficher l'image, mais je n'ai pas assez de réputation :()

by_school.set_xticklabels('Organization Name',rotation=45)

<matplotlib.axes._subplots.AxesSubplot at 0x3971a6a0>
<!-Une question similaire est postée ici:tourner le texte de l'étiquette dans le factorplot de seaborn mais la solution ne fonctionne pas.

19
demandé sur Community 2015-08-06 18:04:16

3 réponses

vous avez besoin d'un appel de méthode différent, à savoir .set_rotation pour chaque ticklable s. Puisque vous avez déjà les ticklabels, il suffit de changer leurs rotations:

for item in by_school.get_xticklabels():
    item.set_rotation(45)

barplot retourne un matplotlib.axes objet (comme des seaborn 0.6.0), vous devez donc tourner les étiquettes de cette façon. Dans d'autres cas, lorsque la méthode retourne un FacetGrid objet, reportez-vous à tourner le texte de l'étiquette dans le factorplot de seaborn

22
répondu CT Zhu 2017-05-23 12:26:27

Utilisez l'énoncé de code suivant:

by_school.set_xticklabels(by_school.get_xticklabels(), rotation=90)
10
répondu Amit Vikram Singh 2018-01-17 10:15:50

Si vous venez ici pour faire pivoter l'étiquette d'une seaborn.heatmap, le suivant devrait fonctionner (en fonction de la réponse de@Amantourner le texte de l'étiquette dans le factorplot de seaborn)

pandas_frame = pd.DataFrame(data, index=names, columns=names)
heatmap = seaborn.heatmap(pandas_frame)
loc, labels = plt.xticks()
heatmap.set_xticklabels(labels, rotation=45)
heatmap.set_yticklabels(labels[::-1], rotation=45) # reversed order for y
1
répondu serv-inc 2017-10-31 16:57:14