Python 使用seaborn'对面进行回归分析;s曲线图

Python 使用seaborn'对面进行回归分析;s曲线图,python,seaborn,linear-regression,facet-grid,Python,Seaborn,Linear Regression,Facet Grid,我对seaborn还是相当陌生的,所以请容忍我。我试图做一个线性最小二乘回归,并使用seaborn的relplot指定r^2值。我愿意只使用sns.FaceGrid。我的数据如下所示: xx = np.linspace(-1, 2, 100) yx = xx #CO2 vs H p1 = sns.relplot(data=df2, x="H", y="CO2", col="Bias", hue="Met",

我对seaborn还是相当陌生的,所以请容忍我。我试图做一个线性最小二乘回归,并使用seaborn的relplot指定r^2值。我愿意只使用sns.FaceGrid。我的数据如下所示:

xx = np.linspace(-1, 2, 100)
yx = xx 

#CO2 vs H 

p1 = sns.relplot(data=df2, x="H", y="CO2", col="Bias", hue="Met", col_wrap=5)
(p1.set_axis_labels("$E_{ads}(*H)$", "$E_{ads}(*CO_2)$")
  .set_titles("Bias: {col_name} V vs SHE")
  .set(xlim=(-0.4, 2), ylim=(-0.4, 2)))

for ax in p1.axes.flat: 
       ax.plot(xx, yx)

plt.savefig("CO2_H.pdf", dpi=300)
plt.show()

我能够将镶嵌面网格绘制为:

我生成此类绘图的代码如下所示:

xx = np.linspace(-1, 2, 100)
yx = xx 

#CO2 vs H 

p1 = sns.relplot(data=df2, x="H", y="CO2", col="Bias", hue="Met", col_wrap=5)
(p1.set_axis_labels("$E_{ads}(*H)$", "$E_{ads}(*CO_2)$")
  .set_titles("Bias: {col_name} V vs SHE")
  .set(xlim=(-0.4, 2), ylim=(-0.4, 2)))

for ax in p1.axes.flat: 
       ax.plot(xx, yx)

plt.savefig("CO2_H.pdf", dpi=300)
plt.show()
然而,我希望它是一个线性回归,而不是一条对角线。我发现了一些类似的东西,但当您在sns.relplot中指定列时,我不知道如何使其工作


谢谢

您可能需要查看
seaborn.lmplot

p1 = sns.lmplot(data=df2, x="H", y="CO2", col="Bias", hue="Met", col_wrap=5)

我不知道seaborn是否有能力执行线性回归,从未尝试过,但我建议简单地使用
sklearn.linear\u model.linerarressage
计算回归线的系数,然后将其绘制为正常曲线。或者,使用
numpy.linalg.lstsq
计算最小二乘回归。您使用的是
hue=
嵌套。你希望每个色调级别回归一次吗?不,我希望每个偏差回归一次。因此,在上面显示的图像中,每个偏移的每个色调级别(总共5个)有一个数据点,所以我想对每个偏移的5个点(其中也有5个)进行回归。谢谢