Class: GeneralizedLinearModel

Plot diagnostics of generalized linear regression model


h = plotDiagnostics(...)
h = plotDiagnostics(mdl,plottype,Name,Value)


plotDiagnostics(mdl) plots diagnostics from the mdl linear model using leverage as the plot type.

plotDiagnostics(mdl,plottype) plots diagnostics from the mdl generalized linear model in a plot of type plottype.

h = plotDiagnostics(...) returns handles to the lines in the plot.

h = plotDiagnostics(mdl,plottype,Name,Value) plots with additional options specified by one or more Name,Value pair arguments.

Input Arguments


Generalized linear model, as constructed by fitglm or stepwiseglm.


Character vector or string scalar specifying the type of plot:

'contour'Residual vs. leverage with overlaid Cook's contours
'cookd'Cook's distance
'leverage'Leverage (diagonal of Hat matrix)

Default: 'leverage'

Name-Value Pair 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.


The plot property name-value pairs apply to the first returned handle h(1).


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'

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

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

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

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

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

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

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

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'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'


Type of line, a Line Properties specification. For details, see linespec.


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

Default: 0.5


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 pair argument.


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 pair argument.


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

Output Arguments


Vector of handles to lines or patches in the plot.


expand all

Create leverage and Cook's distance plots of a fitted generalized linear model.

Generate artificial data for the model, Poisson random numbers with two underlying predictors X(1) and X(2).

rng default % for reproducibility
rndvars = randn(100,2);
X = [2+rndvars(:,1),rndvars(:,2)];
mu = exp(1 + X*[1;2]);
y = poissrnd(mu);

Create a generalized linear regression model of Poisson data.

mdl = fitglm(X,y,'y ~ x1 + x2','distr','poisson');

Create a leverage plot.


Create a contour plot with Cook's distance.


More About

expand all


  • 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.


[1] Neter, J., M. H. Kutner, C. J. Nachtsheim, and W. Wasserman. Applied Linear Statistical Models, Fourth Edition. Irwin, Chicago, 1996.