Main Content

plotResiduals

Class: NonLinearModel

Plot residuals of nonlinear regression model

Syntax

plotResiduals(mdl)
plotResiduals(mdl,plottype)
plotResiduals(mdl,plottype,Name,Value)
h = plotResiduals(___)

Description

plotResiduals(mdl) creates a histogram plot of the nonlinear regression model (mdl) residuals.

plotResiduals(mdl,plottype) specifies the residual plot type plottype.

plotResiduals(mdl,plottype,Name,Value) specifies additional options using one or more name-value arguments. For example, you can specify the residual type and the graphical properties of residual data points.

h = plotResiduals(___) returns graphics objects for the lines or patch in the plot using any of the input argument combinations in the previous syntaxes. Use h to modify the properties of a specific line or patch after you create the plot. For a list of properties, see Line Properties and Patch Properties.

Input Arguments

mdl

Nonlinear regression model, constructed by fitnlm.

plottype

Character vector or string scalar specifying the type of plot:

'caseorder'Residuals vs. case (row) order
'fitted'Residuals vs. fitted values
'histogram'Histogram
'lagged'Residuals vs. lagged residual (r(t) vs. r(t–1))
'probability'Normal probability plot
'symmetry'Symmetry plot

Default: 'histogram'

Name-Value Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside quotes. You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Note

The graphical properties listed here are only a subset. For a complete list, see Line Properties for lines and Patch Properties for histogram. The specified properties apply to the appearance of residual data points or the appearance of the histogram.

Color

Color of the line or marker, specified as an RGB triplet, hexadecimal color code, color name, or short name for one of the color options listed in the following table.

For a custom color, specify an RGB triplet or a hexadecimal color code.

  • An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range [0,1]; for example, [0.4 0.6 0.7].

  • A hexadecimal color code is a character vector or a string scalar that starts with a hash symbol (#) followed by three or six hexadecimal digits, which can range from 0 to F. The values are not case sensitive. Thus, the color codes '#FF8800', '#ff8800', '#F80', and '#f80' are equivalent.

Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and hexadecimal color codes.

Color NameShort NameRGB TripletHexadecimal Color CodeAppearance
'red''r'[1 0 0]'#FF0000'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB® uses in many types of plots.

RGB TripletHexadecimal Color CodeAppearance
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

LineWidth

Width of the line or edges of filled area, in points, a positive scalar. One point is 1/72 inch.

Default: 0.5

Marker

Marker symbol, specified as one of the values in this table.

MarkerDescriptionResulting Marker
'o'Circle

Sample of circle marker

'+'Plus sign

Sample of plus sign marker

'*'Asterisk

Sample of asterisk marker

'.'Point

Sample of point marker

'x'Cross

Sample of cross marker

'_'Horizontal line

Sample of horizontal line marker

'|'Vertical line

Sample of vertical line marker

's'Square

Sample of square marker

'd'Diamond

Sample of diamond line marker

'^'Upward-pointing triangle

Sample of upward-pointing triangle marker

'v'Downward-pointing triangle

Sample of downward-pointing triangle marker

'>'Right-pointing triangle

Sample of right-pointing triangle marker

'<'Left-pointing triangle

Sample of left-pointing triangle marker

'p'Pentagram

Sample of pentagram marker

'h'Hexagram

Sample of hexagram marker

'none'No markersNot applicable

MarkerEdgeColor

Marker outline color, specified as an RGB triplet, hexadecimal color code, color name, or short name for one of the color options listed in the Color name-value argument.

MarkerFaceColor

Fill color for filled markers, specified as an RGB triplet, hexadecimal color code, color name, or short name for one of the color options listed in the Color name-value argument.

MarkerSize

Size of the marker in points, a strictly positive scalar. One point is 1/72 inch.

ResidualType

Type of residual used in the plot:

'Raw'Observed minus fitted values
'Pearson'Raw residuals divided by RMSE
'Standardized'Raw residuals divided by their estimated standard deviation
'Studentized'Raw residuals divided by an independent (delete-1) estimate of their standard deviation

Default: 'Raw'

Output Arguments

h

Graphics objects corresponding to the lines or patch in the plot, returned as a graphics array. Use dot notation to query and set properties of the graphics objects. For details, see Line Properties and Patch Properties.

You can use name-value arguments to specify the appearance of residual data points or the appearance of the histogram, corresponding to the first graphics object h(1).

Examples

expand all

Plot the residuals of a fitted nonlinear model.

Load the reaction data and fit a model of the reaction rate as a function of reactants.

load reaction
mdl = fitnlm(reactants,rate,@hougen,[1 .05 .02 .1 2]);

Plot the residuals of the fitted model.

plotResiduals(mdl)

Figure contains an axes object. The axes object with title Histogram of residuals contains an object of type patch.

Create a normal probability plot of the residuals of a fitted nonlinear model.

Load the reaction data and fit a model of the reaction rate as a function of reactants.

load reaction
mdl = fitnlm(reactants,rate,@hougen,[1 .05 .02 .1 2]);

Create a normal probability plot of the residuals of the fitted model.

plotResiduals(mdl,'probability')

Figure contains an axes object. The axes object with title Normal probability plot of residuals contains 2 objects of type line.

Tips

  • The data cursor displays the values of the selected plot point in a data tip (small text box located next to the data point). The data tip includes the x-axis and y-axis values for the selected point, along with the observation name or number.