Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

lsline

Add least-squares line to scatter plot

Syntax

lsline
lsline(ax)
h = lsline(___)

Description

lsline superimposes a least-squares line on each scatter plot in the current axes. Scatter plots are produced by the MATLAB® scatter and plot functions. Data points connected with solid, dashed, or dash-dot lines ('-', '--', or '.-') are not considered to be scatter plots by lsline, and are ignored.

lsline(ax) superimposes a least-squares line on the scatter plot in axis ax.

h = lsline(___) returns a column vector of handles h to the least-squares lines, using any of the previous syntaxes.

Examples

collapse all

Generate three sets of sample data and plot on the same figure.

x = 1:10;
rng default;  % For reproducibility
figure;

y1 = x + randn(1,10);
scatter(x,y1,25,'b','*')
hold on

y2 = 2*x + randn(1,10);
plot(x,y2,'mo')

y3 = 3*x + randn(1,10);
plot(x,y3,'rx:')

Add a least-squares line for each set of sample data.

lsline

Define the x-variable and two different y-variables to use for the plots.

rng default  % For reproducibility
x = 1:10;
y1 = x + randn(1,10);
y2 = 2*x + randn(1,10);

Define ax1 as the top half of the figure, and ax2 as the bottom half of the figure. Create the first scatter plot on the top axis using y1, and the second scatter plot on the bottom axis using y2.

figure
ax1 = subplot(2,1,1);
ax2 = subplot(2,1,2);

scatter(ax1,x,y1)
scatter(ax2,x,y2)

Superimpose a least-squares line on the top plot, and a reference line at the mean of the y2 values in the bottom plot.

lsline(ax1)

mu = mean(y2);
refline(ax2,[0 mu])

Introduced before R2006a

Was this topic helpful?