簡體   English   中英

旋轉seaborn條形圖的刻度標簽

[英]Rotate tick labels for seaborn barplot

我正在嘗試顯示帶有旋轉 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>

這里發布了一個類似的問題: Rotate label text in seaborn factorplot但解決方案不起作用。

你需要一個不同的方法調用,即.set_rotation每個ticklable秒。 由於您已經有了刻度標簽,只需更改它們的旋轉:

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

barplot返回一個matplotlib.axes對象(從seaborn 0.6.0 開始),因此您必須以這種方式旋轉標簽。 其他情況,當方法返回一個FacetGrid對象時,參考在seaborn factorplot中旋轉標簽文本

使用以下代碼語句:

by_school.set_xticklabels(by_school.get_xticklabels(), 
                          rotation=90, 
                          horizontalalignment='right')

你可以像這樣旋轉seaborn xticks:

sns.barplot(x='Organization Name', y='Score', data=df)

plt.xticks(rotation=70)
plt.tight_layout()

如果您來這里是為了旋轉seaborn.heatmap的標簽,則以下應該有效(基於@Aman旋轉 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

這對我有用:

g.fig.autofmt_xdate()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM