gpt4 book ai didi

python - PairGrid 上的 Seaborn 相关系数

转载 作者:太空狗 更新时间:2023-10-29 17:10:20 24 4
gpt4 key购买 nike

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

enter image description here

最佳答案

您可以将任何函数传递给 map_* 方法,只要它遵循一些规则:1) 它应该绘制到“当前”轴上,2) 它应该将两个向量作为位置参数,以及 3) 它应该接受一个 color 关键字参数(可选地使用它,如果你想与 hue 选项兼容)。

因此,在您的情况下,您只需要定义一个小的 corrfunc 函数,然后将其映射到您想要注释的轴上:

import numpy as np
from scipy import stats
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="white")

mean = np.zeros(3)
cov = np.random.uniform(.2, .4, (3, 3))
cov += cov.T
cov[np.diag_indices(3)] = 1
data = np.random.multivariate_normal(mean, cov, 100)
df = pd.DataFrame(data, columns=["X", "Y", "Z"])

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)

g = sns.PairGrid(df, palette=["red"])
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)

enter image description here

关于python - PairGrid 上的 Seaborn 相关系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30942577/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com