What code do I use to add a regression (least squares) line to an existing scatter graph?
Show older comments
I have created scatter graphs in Matlab using the plot(x,y) function, but how do I now add regression lines to them?
Answers (2)
Star Strider
on 28 Nov 2015
You can use polyfit and polyval (or a number of other regression options if you have the Statistics Toolbox), and using variations on this simple two-parameter linear regression:
B = [ones(size(x(:)) x(:)]\y(:);
y_fit = [ones(size(x(:)) x(:)]*B;
Here ‘B’ are the estimated parameters and ‘y_fit’ is the fitted regression line. To plot them (assuming your variables are sorted with ‘x’ as either ascending or descending)
figure(1)
scatter(x, y)
hold on
plot(x, y_fit)
hold off
grid
Image Analyst
on 28 Nov 2015
1 vote
See my attached demo on polyfit below this image it creates.

Feel free to adapt as needed.
Categories
Find more on Linear Regression in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!