Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Plot `cfit`

or `sfit`

object

`plot(sfit)`

plot(sfit, [x, y], z)

plot(sfit, [x, y], z, 'Exclude', outliers)

H = plot(sfit, ..., 'Style', Style)

H = plot(sfit, ..., 'Level', Level)

H = plot(sfit, ..., 'XLim', XLIM)

H
= plot(sfit, ..., 'YLim', YLIM)

H = plot(sfit, ...)

H = plot(sfit, ..., 'Parent', HAXES )

plot(cfit)

plot(cfit,x,y)

plot(cfit,x,y,DataLineSpec)

plot(cfit,FitLineSpec,x,y,DataLineSpec)

plot(cfit,x,y,outliers)

plot(cfit,x,y,outliers,OutlierLineSpec)

plot(...,ptype,...)

plot(...,ptype,level)

h = plot(...)

For **surfaces**:

`plot(sfit)`

plots the`sfit`

object over the range of the current axes, if any, or otherwise over the range stored in the fit.`plot(sfit, [x, y], z)`

plots z versus x and y and plots`sfit`

over the range of x and y.`plot(sfit, [x, y], z, 'Exclude', outliers)`

plots the excluded data in a different color.`outliers`

can be an expression describing a logical vector, e.g.,`x > 10`

, a vector of integers indexing the points you want to exclude, e.g.,`[1 10 25]`

, or a logical array where`true`

represents an outlier. You can create the array with`excludedata`

.`H = plot(sfit, ..., 'Style', Style)`

selects which way to plot the surface fit object`sfit`

.`Style`

may be any of the following character vectors`'Surface'`

Plot the fit object as a surface (default)`'PredFunc'`

Surface with prediction bounds for function`'PredObs'`

Surface with prediction bounds for new observation`'Residuals'`

Plot the residuals (fit is the plane Z=0)`'Contour'`

Make a contour plot of the surface

`H = plot(sfit, ..., 'Level', Level)`

sets the confidence level to be used in the plot.`Level`

is a positive value less than 1, and has a default of 0.95 (for 95% confidence). This option only applies to the`'PredFunc'`

and`'PredObs'`

plot styles.`H = plot(sfit, ..., 'XLim', XLIM)`

and`H = plot(sfit, ..., 'YLim', YLIM)`

sets the limits of the axes used for the plot. By default the axes limits are taken from the data,`XY`

. If no data is given, then the limits are taken from the surface fit object,`sfit`

.`H = plot(sfit, ...)`

returns a vector of handles of the plotted objects.`H = plot(sfit, ..., 'Parent', HAXES )`

plots the fit object`sfit`

in the axes with handle HAXES rather than the current axes. The range is taken from these axes rather than from the fit or the data.

For **curves**:

`plot(cfit)`

plots the`cfit`

object over the domain of the current axes, if any. If there are no current axes, and`fun`

is an output from the`fit`

function, the plot is over the domain of the fitted data.`plot(cfit,x,y)`

plots`cfit`

together with the predictor data`x`

and the response data`y`

.`plot(cfit,x,y,DataLineSpec)`

plots the predictor and response data using the color, marker symbol, and line style specified by the`DataLineSpec`

formatting character vector.`DataLineSpec`

character vectors take the same values as`LineSpec`

character vectors used by the MATLAB^{®}`plot`

function.`plot(cfit,FitLineSpec,x,y,DataLineSpec)`

plots`fun`

using the color, marker symbol, and line style specified by the`FitLineSpec`

formatting character vector, and plots`x`

and`y`

using the color, marker symbol, and line style specified by the`DataLineSpec`

formatting character vector.`FitLineSpec`

and`DataLineSpec`

character vectors take the same values as`LineSpec`

character vectors used by the MATLAB`plot`

function.`plot(cfit,x,y,outliers)`

plots data indicated by`outliers`

in a different color.`outliers`

can be an expression describing a logical vector, e.g.,`x > 10`

, a vector of integers indexing the points you want to exclude, e.g.,`[1 10 25]`

, or a logical array where`true`

represents an outlier. You can create the array with`excludedata`

.`plot(cfit,x,y,outliers,OutlierLineSpec)`

plots`outliers`

using the color, marker symbol, and line style specified by the`OutlierLineSpec`

.`OutlierLineSpec`

character vectors take the same values as`LineSpec`

character vectors used by the MATLAB`plot`

function.`plot(...,ptype,...)`

uses the plot type specified by`ptype`

. Supported plot types are:`'fit'`

— Data and fit (default)`'predfunc'`

— Data and fit with prediction bounds for the fit`'predobs'`

— Data and fit with prediction bounds for new observations`'residuals'`

— Residuals`'stresiduals'`

— Standardized residuals (residuals divided by their standard deviation).`'deriv1'`

— First derivative of the fit`'deriv2'`

— Second derivative of the fit`'integral'`

— Integral of the fit

`plot(...,ptype,level)`

plots prediction intervals with a confidence level specified by`level`

.`level`

must be between`0`

and`1`

. The default value of`level`

is`0.95`

.

For both curves and surfaces:

Plot types can be single or multiple, with multiple plot types specified as a cell array of character vectors. With a single plot type,

`plot`

draws to the current axes and can be used with commands like`hold`

and`subplot`

. With multiple plot types,`plot`

creates subplots for each plot type.`h = plot(...)`

returns a vector of handles to the plotted objects.

Create a baseline sinusoidal signal:

xdata = (0:0.1:2*pi)'; y0 = sin(xdata);

Add noise to the signal with non-constant variance:

% Response-dependent Gaussian noise gnoise = y0.*randn(size(y0)); % Salt-and-pepper noise spnoise = zeros(size(y0)); p = randperm(length(y0)); sppoints = p(1:round(length(p)/5)); spnoise(sppoints) = 5*sign(y0(sppoints)); ydata = y0 + gnoise + spnoise;

Fit the noisy data with a baseline sinusoidal model:

f = fittype('a*sin(b*x)'); fit1 = fit(xdata,ydata,f,'StartPoint',[1 1]);

Identify “outliers” as points at a distance greater than 1.5 standard deviations from the baseline model, and refit the data with the outliers excluded:

fdata = feval(fit1,xdata); I = abs(fdata - ydata) > 1.5*std(ydata); outliers = excludedata(xdata,ydata,'indices',I); fit2 = fit(xdata,ydata,f,'StartPoint',[1 1],... 'Exclude',outliers);

Compare the effect of excluding the outliers with the effect of giving them lower bisquare weight in a robust fit:

fit3 = fit(xdata,ydata,f,'StartPoint',[1 1],'Robust','on');

Plot the data, the outliers, and the results of the fits:

plot(fit1,'r-',xdata,ydata,'k.',outliers,'m*') hold on plot(fit2,'c--') plot(fit3,'b:') xlim([0 2*pi])

Plot the residuals for the two fits considering outliers:

figure plot(fit2,xdata,ydata,'co','residuals') hold on plot(fit3,xdata,ydata,'bx','residuals')

Load data and fit a Gaussian, excluding some data with an expression, then plot the fit, data and the excluded points.

[x, y] = titanium; f1 = fit(x',y','gauss2', 'Exclude', x<800); plot(f1,x,y,x<800)

For more examples excluding data and plotting fits, see `fit`

.