group by scatterplot super强加回归线和rsq

时间:2017-09-05 15:58:18

标签: python pandas matplotlib plot seaborn

我有一个数据框,我想在我的数据中为每个Universe绘制子图

我执行以下操作可以生成散点图。输出是每个Universe的散点图,其中csk位于y轴上,msk位于x轴上。我试图在每个子图上叠加回归线,并在每个子图上添加Rsq。有没有办法做到这一点?是更好地使用seaborn(" regplot")

plt.suptitle(mytitle, fontsize = 20)
for (universe, group), ax in zip(temp1.groupby([temp1.universe], sort = False), axes.flatten()):
    group.plot(x='msk', y='csk', kind='scatter', ax=ax, title=universe,s=2)
    ax.set_xlim(0,1)
    ax.set_ylim(0,1)
    ax.set_xlabel("msk", fontsize =10)
    ax.set_ylabel("csk", fontsize = 10)
    ax.set_title(universe, fontsize = 12)

1 个答案:

答案 0 :(得分:2)

使用scipy.optimize.curve_fitscipy.stats.linregress可以非常简单地拟合回归线。

使用这些函数的输出,您可以使用matplotlib ax.plot函数轻松绘制回归图。

从您的数据计算R^2并拟合(如果您不了解它,请查看等式,非常简单),然后使用ax.annotate或{{将其添加到图中3}}