是否有matplotlib或seaborn图我可以使用g.map_lower或g.map_upper来获取每个双变量图的相关系数,如下所示?手动映射plt.text以获取下面的示例,这是一个繁琐的过程.

我找到了一个函数来计算相关系数,然后将其添加到配对图中(如下所示)。我的问题是,当我运行带有色调(分类变量)的配对图时,两组的相关系数显示在彼此之上。
这是我的图形代码(它显示了气候变化态度和峰值之间的相关系数作为“海冰方向”的函数):
`g = sns.PairGrid(df, vars = ['OverallClimateChangeAttitude', 'Peak'],
hue="IV_SeaIceChangeDirection")
g.map_upper(plt.scatter, s=10)
g.map_diag(sns.distplot, kde=False)
g.map_lower(sns.kdeplot, cmap="Blues_d")
g.map_lower(corrfunc)`
Run Code Online (Sandbox Code Playgroud)
这是相关函数:
`def corrfunc(x, y, **kws):
r, _ = stats.pearsonr(x, y)
ax = plt.gca()
ax.annotate("r = {:.2f}".format(r),
xy=(.1, .9), xycoords=ax.transAxes)`
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助!
有没有办法用 显示成对相关值seaborn.pairplot(),如下例所示(用ggpairs()in创建R)?我可以使用附加的代码制作绘图,但不能添加相关性。谢谢
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
iris = sns.load_dataset('iris')
g = sns.pairplot(iris, kind='scatter', diag_kind='kde')
# remove upper triangle plots
for i, j in zip(*np.triu_indices_from(g.axes, 1)):
g.axes[i, j].set_visible(False)
plt.show()
Run Code Online (Sandbox Code Playgroud)