Gnuplot:绘制残差

时间:2013-01-09 10:20:33

标签: gnuplot

我试图绘制最小二乘法的可视化。最后它应该如下所示:http://upload.wikimedia.org/wikipedia/commons/1/17/MDKQ1.svg

现在我有数据点,我有拟合曲线(在我的情况下是一条直线,称为f(x))。我缺少的是残差(在链接中残差是绿线)。 含义:我想从每个垂直于拟合线的数据点开始绘制线条。

我的data.txt看起来像这样(短片)

1, 3
2, 4
3, 6
4, 3

我的gnuplot命令是:

f(x) = a*x +b  + 1e-9
fit f(x) 'data.txt' u 1:2  via a, b
plot 'data.txt' with points title 'data',  f(x)  

到目前为止,我只使用

设法将残差作为冲动
plot 'data.txt' with points title 'data',  '' using 1:($2 - f($1)) w impulse, f(x)

但同样地,从y = 0开始向下并且它们不在拟合线f(x)和数据点之间。

1 个答案:

答案 0 :(得分:2)

我认为你在这里寻找errorbars

 plot 'data.txt' with points title 'data',\
      f(x) notitle,\
      'data.txt' u ($1):(f($1)):(f($1)):2 w yerrorbars title 'residuals'

还有errorlines样式,你可以使用它基本相同:

 plot 'data.txt' with points title 'data',\
      'data.txt' u ($1):(f($1)):(f($1)):2 w yerrorlines title 'residuals'

但在这种情况下,绘制的线(f(x))的样式与绘制残差的样式相同。