[英]How to *Rotate* labels in a Seaborn PairGrid?
我的數據框中的列名稱很長,因此當我制作配對圖時,標簽彼此重疊。 我想將我的標簽旋轉 90 度,這樣它們就不會發生碰撞。 我嘗試在線查找和文檔,但找不到解決方案。 這是我寫的內容和錯誤消息:
plt.figure(figsize=(10,10))
g = sn.pairplot(df, kind="scatter")
g.set_xticklabels(g.get_xticklabels(), rotation=90)
g.set_yticklabels(g.get_yticklabels(), rotation=90)
AttributeError: 'PairGrid' object has no attribute 'set_xticklabels'
如何在 Seaborn PairGrid 中旋轉標簽(x 和 y)?
注意:對不起,我的wifi無法上傳圖片以供參考。
感謝威廉的回答,我現在知道要尋找什么來解決我的問題!
下面是我是如何做到的。
g = sn.pairplot(dfsub.sample(50), kind="scatter", hue=target)
for ax in g.axes.flatten():
# rotate x axis labels
ax.set_xlabel(ax.get_xlabel(), rotation = 90)
# rotate y axis labels
ax.set_ylabel(ax.get_ylabel(), rotation = 0)
# set y labels alignment
ax.yaxis.get_label().set_horizontalalignment('right')
則可以直接使用該迭代軸axes
的的構件PairGrid
由返回的對象PairPlot
。 像這樣的東西
for ax in g.axes.flatten():
ax.tick_params(rotation = 90)
應該做的伎倆
添加到@techtana 的答案。 如果設置cornor=True
,而密謀pairplot,那么你需要跳過ax
的ES NoneType
:
g = sns.pairplot(df, diag_kind='kde', corner=True)
for ax in g.axes.flatten():
if ax:
# rotate x axis labels
ax.set_xlabel(ax.get_xlabel(), rotation = -30)
# rotate y axis labels
ax.set_ylabel(ax.get_ylabel(), rotation = 0)
# set y labels alignment
ax.yaxis.get_label().set_horizontalalignment('right')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.