What code do I use to add a regression (least squares) line to an existing scatter graph?

17 views (last 30 days)
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
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
Image Analyst on 28 Nov 2015
See my attached demo on polyfit below this image it creates.
Feel free to adapt as needed.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!