簡體   English   中英

如何在 Seaborn PairGrid 中*旋轉*標簽?

[英]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.

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