Python 使用seaborn'对面进行回归分析;s曲线图
我对seaborn还是相当陌生的,所以请容忍我。我试图做一个线性最小二乘回归,并使用seaborn的relplot指定r^2值。我愿意只使用sns.FaceGrid。我的数据如下所示: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",
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个)进行回归。谢谢