J'essaie d'afficher un graphique avec des étiquettes d'axe des X pivotées, mais le graphique 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)
À ce stade, je peux voir l'image, mais après avoir défini le xticklabel, je ne vois plus l'image uniquement une référence d'objet. (Je posterais 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 publiée ici: Faire pivoter le texte de l'étiquette dans seaplot factorplot mais la solution ne fonctionne pas.
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, changez simplement leurs rotations:
for item in by_school.get_xticklabels():
item.set_rotation(45)
barplot
renvoie un matplotlib.axes
objet (à partir de seaborn
0.6.0), vous devez donc faire pivoter les étiquettes de cette façon. Dans d'autres cas, lorsque la méthode renvoie un objet FacetGrid
, reportez-vous à Faire pivoter le texte de l'étiquette dans seaplot factorplot
Utilisez l'instruction de code suivante:
by_school.set_xticklabels(by_school.get_xticklabels(), rotation=90)
Si vous venez ici pour faire pivoter les étiquettes pour un seaborn.heatmap
, ce qui suit devrait fonctionner (basé sur @ la réponse d'Aman à Faire pivoter le texte de l'étiquette dans le diagramme de facteur marin )
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