我在python / seaborn / scipy.stats / matplotlib.pyplot等新手上完成了数据分析工作
Seaborn Correlation Coefficient on PairGrid 这个链接帮助我通过皮尔森R得分呈现我的变量之间的关系。 然而,由于Pearsons测试的输出也应该有一个p值以表明统计显着性,我正在寻找一种方法将P值添加到我的情节中的注释。
g = sns.pairplot(unoutlieddata, vars=['bia', 'DW', 'HW', 'jackson', 'girths'], kind="reg")
def corrfunc(x, y, **kws):
r, _ = sps.pearsonr(x, y)
ax = plt.gca()
ax.annotate("r = {:.2f}".format(r),
xy=(.1, .9), xycoords=ax.transAxes)
g.map(corrfunc)
sns.plt.show()
显示的是我提供的链接格式的代码。 SPS = scipy.stats。未提供的数据是已经过滤以删除异常值的数据帧
任何想法都会很神奇
此致
答案 0 :(得分:7)
不确定是否有人会看到这个,但在与知道更多的人交谈之后,答案如下:
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import pearsonr
def corrfunc(x, y, **kws):
(r, p) = pearsonr(x, y)
ax = plt.gca()
ax.annotate("r = {:.2f} ".format(r),
xy=(.1, .9), xycoords=ax.transAxes)
ax.annotate("p = {:.3f}".format(p),
xy=(.4, .9), xycoords=ax.transAxes)
df = sns.load_dataset("iris")
df = df[df["species"] == "setosa"]
graph = sns.pairplot(df)
graph.map(corrfunc)
plt.show()