我有一个数据框,我想在我的数据中为每个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)
答案 0 :(得分:2)
使用scipy.optimize.curve_fit
或scipy.stats.linregress
可以非常简单地拟合回归线。
使用这些函数的输出,您可以使用matplotlib
ax.plot
函数轻松绘制回归图。
从您的数据计算R^2
并拟合(如果您不了解它,请查看等式,非常简单),然后使用ax.annotate
或{{将其添加到图中3}}