1
我找到了一个函数来计算相关系数,然后将它添加到一对图(如下所示)。我的问题是,当我用色相(一个分类变量)运行一个对图时,两个组的相关系数显示在彼此之上。在带有色调(分类变量)的pairgrid绘图上显示两个相关系数 - seaborn python
this is how the plot looks like
这是我的图形码(其示出了气候变化态度和峰值为“海冰方向”的功能之间的相关系数在彼此的顶部):
`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)`
这里是相关函数:
`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)`
任何帮助非常感谢!
这是优秀的,谢谢!@Gereleth – MarieJ
这两个解决方案工作得非常好!我选择了第一种解决方案,因为它更自动,更优雅!我现在试图调整函数来拟合一对图中的相关系数 - 但是没有成功...... g = sns.pairplot(df,x_vars = [“概率”,“模糊度”],y_vars = [“气候改变态度“], hue =”海冰变化“,kind =”reg“,markers = [”v“,”^“] g.map_lower(corrfunc2))'我猜这是因为变量被分成X和Y变量? – MarieJ
不知道究竟发生了什么错误,很难提供帮助。但是我认为当只有两个子图受到'map_lower'的影响时,可能会出现一些混淆。我会建议尝试其他映射。 – gereleth