web-dev-qa-db-ja.com

シーボーンバープロットの目盛りラベルを回転させる

X軸ラベルを回転させたチャートを表示しようとしていますが、チャートが表示されません。

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)

この時点で画像を見ることができますが、xticklabelを設定した後、オブジェクト参照のみの画像は表示されなくなりました。 (画像を投稿しますが、評判が十分ではありません:()

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

<matplotlib.axes._subplots.AxesSubplot at 0x3971a6a0>

同様の質問がここに投稿されています: seaborn factorplotのラベルテキストの回転 しかし、解決策は機能していません。

29
Laurennmc

別のメソッド呼び出し、つまりticklablesごとに.set_rotationが必要です。既に目盛りラベルがあるので、回転を変更するだけです:

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

barplotmatplotlib.axesオブジェクトを返します(seaborn 0.6.0時点)。したがって、この方法でラベルを回転させる必要があります。他の場合では、メソッドがFacetGridオブジェクトを返す場合、 seaborn factorplotのラベルテキストの回転 を参照してください

38
CT Zhu

次のコードステートメントを使用します。

by_school.set_xticklabels(by_school.get_xticklabels(), rotation=90)
21

ここに来て seaborn.heatmap 、以下が動作するはずです( @ Aman's answer at seaborn factorplotのラベルテキストの回転

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
serv-inc