Python 如何为seaborn pairplot中的每个变量设置个性化图例?

Python 如何为seaborn pairplot中的每个变量设置个性化图例?,python,seaborn,Python,Seaborn,我正在使用这个代码 sns.set(palette="dark") g=sns.pairplot(PCA_atrF_df, x_vars={'CP1','CP3','ModCP2'}, hue= 'Hemis', y_vars={'Media','SD','DesMax', 'DesMin' }) def corrfunc(x, y, **kws): r, _ = stats.pearsonr(x, y) ax = plt.gca() a

我正在使用这个代码

sns.set(palette="dark")

g=sns.pairplot(PCA_atrF_df, x_vars={'CP1','CP3','ModCP2'}, hue= 'Hemis',
               y_vars={'Media','SD','DesMax', 'DesMin' })

def corrfunc(x, y, **kws):
    r, _ = stats.pearsonr(x, y)
    ax = plt.gca()
    ax.annotate("r = {:.2f}".format(r),
                xy=(.65, .03), xycoords=ax.transAxes)

g.map(corrfunc)      
sns.plt.show()
x
y
vars是数据帧的列(
PCA\u atrF\u df
)。我也有两个类别(“Hemis”):南部或北部,我加入r2(pearson)以获得此图:

但是我需要将
x
设置为:

'CP1: 0.71'   'ModCP2: 0.17'   'CP3: 0.05'
数字来自此数组的前3个位置:

array([ 0.71147788,  0.17629621,  0.05131766,  0.02616651,  0.01864328,
        0.00529765,  0.0043043 ,  0.00197723,  0.00146853,  0.00112802,
        0.0010507 ,  0.00087202])

此外,正如你所看到的,每个图中都有模糊的r2(皮尔逊相关),因为我得到的是每个“半人”的一个相关。尽管有de“Hemis”,但可以只为孔组调整一个r2,但保留每个“Hemis”的颜色?

我用一个相关的问题以一种不那么优雅的方式解决了个性化图例,但至少是可行的。以防有人需要或可以改进它。我仍然期待着解决独特的相关性问题(一个r2代表两个类别)

在本例中,我想添加的图例是(前3个数字):

sns.set(palette="dark")

g=sns.pairplot(PCA_atrF_df, x_vars=['CP1','ModCP2','CP3'], hue='Hemis',
               y_vars=['DesMax', 'DesMin','SD','Media'])

def corrfunc(x, y, **kws):
    r, _ = stats.pearsonr(x, y)
    ax = plt.gca()
    ax.annotate("r = {:.2f}".format(r),
                xy=(.65, .03), xycoords=ax.transAxes)

g.map(corrfunc)  

xlabels,ylabels = [],[]

for ax in g.axes[-1,:]:
    xlabel = ax.xaxis.get_label_text()
    xlabels.append(xlabel)
for ax in g.axes[:,0]:
    ylabel = ax.yaxis.get_label_text()
    ylabels.append(ylabel)

for i in range(len(xlabels)):

        g.axes[3,i].xaxis.set_label_text(xlabels[i]+ ': '+ str(pca.fracs[i])[:4])


plt.show()
array([  6.13922272e-01,   2.94925588e-01,   4.30136304e-02,
         2.94031518e-02,   7.90963090e-03,   4.43885165e-03,
         3.09109701e-03,   1.17998760e-03,   8.80521733e-04,
         5.21848967e-04,   4.39901495e-04,   2.73517962e-04])