Normal probability plot - MATLAB normplot (2024)

Normal probability plot

collapse all in page

Syntax

normplot(x)

normplot(ax,x)

h = normplot(___)

Description

example

normplot(x) creates a normal probability plot comparing the distribution of the data in x to the normal distribution.

normplot plots each data point in x using plus sign ('+') markers and draws two reference lines that represent the theoretical distribution. A solid reference line connects the first and third quartiles of the data, and a dashed reference line extends the solid line to the ends of the data. If the sample data has a normal distribution, then the data points appear along the reference line. A distribution other than normal introduces curvature in the data plot.

normplot(ax,x) adds a normal probability plot into the axes specified by ax.

example

h = normplot(___) returns graphics handles corresponding to the plotted lines, using any of the previous syntaxes.

Examples

collapse all

Generate a Normal Probability Plot

Open Live Script

Generate random sample data from a normal distribution with mu = 10 and sigma = 1.

rng default; % For reproducibilityx = normrnd(10,1,25,1);

Create a normal probability plot of the sample data.

figure;normplot(x)

Normal probability plot - MATLAB normplot (1)

The plot indicates that the data follows a normal distribution.

Assess Normality Using a Normal Probability Plot

Open Live Script

Generate 50 random numbers from each of four different distributions: A standard normal distribution; a Student's-t distribution with five degrees of freedom (a "fat-tailed" distribution); a set of Pearson random numbers with mu equal to 0, sigma equal to 1, skewness equal to 0.5, and kurtosis equal to 3 (a "right-skewed" distribution); and a set of Pearson random numbers with mu equal to 0, sigma equal to 1, skewness equal to -0.5, and kurtosis equal to 3 (a "left-skewed" distribution).

rng(11) % For reproducibilityx1 = normrnd(0,1,[50,1]);x2 = trnd(5,[50,1]);x3 = pearsrnd(0,1,0.5,3,[50,1]);x4 = pearsrnd(0,1,-0.5,3,[50,1]);

Plot four histograms on the same figure for a visual comparison of the pdf of each distribution.

figuresubplot(2,2,1)histogram(x1,10)title('Normal')axis([-4,4,0,15])subplot(2,2,2)histogram(x2,10)title('Fat Tails')axis([-4,4,0,15])subplot(2,2,3)histogram(x3,10)title('Right-Skewed')axis([-4,4,0,15])subplot(2,2,4)histogram(x4,10)title('Left-Skewed')axis([-4,4,0,15])

Normal probability plot - MATLAB normplot (2)

The histograms show how each sample differs from the normal distribution.

Create a normal probability plot for each sample.

figuresubplot(2,2,1)normplot(x1)title('Normal')subplot(2,2,2)normplot(x2)title('Fat Tails')subplot(2,2,3)normplot(x3)title('Right-Skewed')subplot(2,2,4)normplot(x4)title('Left-Skewed')

Normal probability plot - MATLAB normplot (3)

Adjust Normal Probability Plot Line Properties

Open Live Script

Create a 50-by-2 matrix containing 50 random numbers from each of two different distributions: A standard normal distribution in column 1, and a set of Pearson random numbers with mu equal to 0, sigma equal to 1, skewness equal to 0.5, and kurtosis equal to 3 (a "right-skewed" distribution) in column 2.

rng default % For reproducibilityx = [normrnd(0,1,[50,1]) pearsrnd(0,1,0.5,3,[50,1])];

Create a normal probability plot for both samples on the same figure. Return the plot line graphic handles.

figureh = normplot(x)
h = 6x1 Line array: Line Line Line Line Line Line
legend({'Normal','Right-Skewed'},'Location','southeast')

Normal probability plot - MATLAB normplot (4)

The handles h(1) and h(2) correspond to the data points for the normal and skewed distributions, respectively. The handles h(3) and h(4) correspond to the second and third quartile line fit to the sample data. The handles h(5) and h(6) correspond to the extrapolated line that extends to the minimum and maximum of each set of sample data.

To illustrate, increase the line width of the second and third quartile line for the normally distributed data sample (represented by h(3)) to 2.

h(3).LineWidth = 2;h(4).LineWidth = 2;

Normal probability plot - MATLAB normplot (5)

Input Arguments

collapse all

xSample data
numeric vector | numeric matrix

Sample data, specified as a numeric vector or numeric matrix. normplot displays each value in x using the symbol '+'. If x is a matrix, then normplot displays a separate line for each column of x.

Data Types: single | double

axTarget axes
Axes object | UIAxes object

Target axes, specified as an Axes object or a UIAxes object. normplot adds an additional plot into the axes specified by ax. For details, see Axes Properties and UIAxes Properties.

Use gca to return the current axes for the current figure.

Output Arguments

collapse all

h — Graphics handles for line objects
vector of Line graphics handles

Graphics handles for line objects, returned as a vector of Line graphics handles. Graphics handles are unique identifiers that you can use to query and modify the properties of a specific line on the plot. For each column of x, normplot returns three handles:

  • The line representing the data points. normplot represents each data point in x using plus sign ('+') markers.

  • The line joining the first and third quartiles of each column of x, represented as a solid line.

  • The extrapolation of the quartile line, extended to the minimum and maximum values of x, represented as a dashed line.

To view and set properties of line objects, use dot notation. For information on using dot notation, see Access Property Values. For information on the Line properties that you can set, see Line Properties.

Algorithms

normplot matches the quantiles of sample data to the quantiles of a normal distribution. The sample data is sorted and plotted on the x-axis. The y-axis represents the quantiles of the normal distribution, converted into probability values. Therefore, the y-axis scaling is not linear.

Where the x-axis value is the ith sorted value from a sample of size N, the y-axis value is the midpoint between evaluation points of the empirical cumulative distribution function of the data. The midpoint is equal to (i0.5)N.

normplot superimposes a reference line to assess the linearity of the plot. The line goes through the first and third quartiles of the data.

Alternative Functionality

You can use the probplot function to create a probability plot. The probplot function enables you to indicate censored data and specify the distribution for a probability plot.

Version History

Introduced before R2006a

See Also

probplot | cdfplot | wblplot | ecdf

Topics

  • Distribution Plots
  • Hypothesis Testing
  • Normal Distribution

MATLAB Command

You clicked a link that corresponds to this MATLAB command:

 

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Normal probability plot - MATLAB normplot (6)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

Contact your local office

Normal probability plot - MATLAB normplot (2024)

References

Top Articles
Latest Posts
Article information

Author: Frankie Dare

Last Updated:

Views: 5556

Rating: 4.2 / 5 (53 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Frankie Dare

Birthday: 2000-01-27

Address: Suite 313 45115 Caridad Freeway, Port Barabaraville, MS 66713

Phone: +3769542039359

Job: Sales Manager

Hobby: Baton twirling, Stand-up comedy, Leather crafting, Rugby, tabletop games, Jigsaw puzzles, Air sports

Introduction: My name is Frankie Dare, I am a funny, beautiful, proud, fair, pleasant, cheerful, enthusiastic person who loves writing and wants to share my knowledge and understanding with you.