我使用Gnuplot绘制我的数据,以及线性回归线。目前,这条线的“标题”,其方程由Gnuplot计算,只是“f(x)”。但是,我希望标题是回归线的等式,例如“表达式y = mx + C”。
我可以通过从绘图信息输出中读取'm'和'c'手动完成此操作,然后使用新标题重新绘制。我希望这个过程是自动化的,并且想知道是否可以这样做,以及如何去做。
答案 0 :(得分:22)
使用数据文件Data.csv
:
0 0.00000
1 1.00000
2 1.41421
3 1.73205
4 2.00000
5 2.23607
您可以使用以下方式进行线性拟合:
f(x) = a*x + b
fit f(x) 'Data.csv' u 1:2 via a, b
您可以使用我认为在gnuplot中称为宏的内容,使用
在您标识的函数f(x)
的图例中设置标题
title_f(a,b) = sprintf('f(x) = %.2fx + %.2f', a, b)
现在,为了使用回归函数f(x)
绘制数据,只需执行以下操作:
plot "Data.csv" u 1:2 w l, f(x) t title_f(a,b)
你最终应该得到这个情节:
答案 1 :(得分:1)
来自Correlation coefficient on gnuplot:
另一种,也许比Woltan做同样事情的方式略短:
# This command will analyze your data and set STATS_* variables. See help stats
stats Data.csv
f(x) = STATS_slope * x + STATS_intercept
plot f(x) title sprintf("y=%.2fx+%.2f", STATS_slope, STATS_intercept)