我试图绘制最小二乘法的可视化。最后它应该如下所示: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)和数据点之间。
答案 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)
)的样式与绘制残差的样式相同。