Pandas在散点图上绘制线性回归

时间:2015-04-22 11:10:27

标签: python numpy pandas linear-regression scatter

我试图在散点图上绘制线性回归。

]

enter image description here

我无法弄清楚如何在循环中实现它。

1 个答案:

答案 0 :(得分:0)

它应该以这种方式工作:

在for循环中运行回归并将结果存储在'res'中。使用存储的系数手动计算预测的y('yhat')。然后绘制x与y和x与yhat的对比图表:

  import pandas.stats.api

  def chart4(df, yr, day, Y, sensi):
    temp = df[(df['YEAR']==yr)]
    temp = temp[(temp['daytype']==day)]
    fig = plt.figure(figsize=(15,13))
    for i, var in enumerate(sensi):
        res = ols(y=temp[Y], x=temp[var])
        label = 'R2: ' + str(res.r2)
        temp['yhat'] = temp[var]*res.beta[0] + res.beta[1]
        axis=fig.add_subplot(4,3,i+1)
        temp.plot(ax=axis,kind='scatter', x=var, y=Y, title=var)
        temp.plot(ax=axis, kind='scatter', x=var, y='yhat', color='grey', s=1, label=label)
        axis.set_xlabel(r'alpha', fontsize=18)
    fig.tight_layout()
    return