• Descriptive
    • Moments
    • Concentration
    • Central Tendency
    • Variability
    • Stem-and-Leaf Plot
    • Histogram & Frequency Table
    • Data Quality Forensics
    • Conditional EDA
    • Quantiles
    • Kernel Density Estimation
    • Normal QQ Plot
    • Bootstrap Plot

    • Multivariate Descriptive Statistics
  • Distributions
    • Binomial Probabilities
    • Geometric Probabilities
    • Negative Binomial Probabilities
    • Hypergeometric Probabilities
    • Multinomial Probabilities
    • Dirichlet
    • Poisson Probabilities

    • Exponential
    • Gamma
    • Erlang
    • Weibull
    • Rayleigh
    • Maxwell-Boltzmann
    • Lognormal
    • Pareto
    • Inverse Gamma
    • Inverse Chi-Square

    • Beta
    • Power
    • Beta Prime (Inv. Beta)
    • Triangular

    • Normal (area)
    • Logistic
    • Laplace
    • Cauchy (standard)
    • Cauchy (location-scale)
    • Gumbel
    • Fréchet
    • Generalized Extreme Value

    • Normal RNG
    • ML Fitting
    • Tukey Lambda PPCC
    • Box-Cox Normality Plot
    • Noncentral t
    • Noncentral F
    • Sample Correlation r

    • Empirical Tests
  • Hypotheses
    • Theoretical Aspects of Hypothesis Testing
    • Bayesian Inference
    • Minimum Sample Size

    • Empirical Tests
    • Multivariate (pair-wise) Testing
  • Models
    • Manual Model Building
    • Guided Model Building
  • Time Series
    • Time Series Plot
    • Decomposition
    • Exponential Smoothing

    • Blocked Bootstrap Plot
    • Mean Plot
    • (P)ACF
    • VRM
    • Standard Deviation-Mean Plot
    • Spectral Analysis
    • ARIMA

    • Cross Correlation Function
    • Granger Causality
  1. Descriptive Statistics & Exploratory Data Analysis
  2. 76  Quantile-Quantile Plot (QQ Plot)
  • Preface
  • Getting Started
    • 1  Introduction
    • 2  Why Do We Need Innovative Technology?
    • 3  Basic Definitions
    • 4  The Big Picture: Why We Analyze Data
  • Introduction to Probability
    • 5  Definitions of Probability
    • 6  Jeffreys’ axiom system
    • 7  Bayes’ Theorem
    • 8  Sensitivity and Specificity
    • 9  Naive Bayes Classifier
    • 10  Law of Large Numbers

    • 11  Problems
  • Probability Distributions
    • 12  Bernoulli Distribution
    • 13  Binomial Distribution
    • 14  Geometric Distribution
    • 15  Negative Binomial Distribution
    • 16  Hypergeometric Distribution
    • 17  Multinomial Distribution
    • 18  Poisson Distribution

    • 19  Uniform Distribution (Rectangular Distribution)
    • 20  Normal Distribution (Gaussian Distribution)
    • 21  Gaussian Naive Bayes Classifier
    • 22  Chi Distribution
    • 23  Chi-squared Distribution (1 parameter)
    • 24  Chi-squared Distribution (2 parameters)
    • 25  Student t-Distribution
    • 26  Fisher F-Distribution
    • 27  Exponential Distribution
    • 28  Lognormal Distribution
    • 29  Gamma Distribution
    • 30  Beta Distribution
    • 31  Weibull Distribution
    • 32  Pareto Distribution
    • 33  Inverse Gamma Distribution
    • 34  Rayleigh Distribution
    • 35  Erlang Distribution
    • 36  Logistic Distribution
    • 37  Laplace Distribution
    • 38  Gumbel Distribution
    • 39  Cauchy Distribution
    • 40  Triangular Distribution
    • 41  Power Distribution
    • 42  Beta Prime Distribution
    • 43  Sample Correlation Distribution
    • 44  Dirichlet Distribution
    • 45  Generalized Extreme Value (GEV) Distribution
    • 46  Frechet Distribution
    • 47  Noncentral t Distribution
    • 48  Noncentral F Distribution
    • 49  Inverse Chi-Squared Distribution
    • 50  Maxwell-Boltzmann Distribution
    • 51  Distribution Relationship Map

    • 52  Problems
  • Descriptive Statistics & Exploratory Data Analysis
    • 53  Types of Data
    • 54  Datasheets

    • 55  Frequency Plot (Bar Plot)
    • 56  Frequency Table
    • 57  Contingency Table
    • 58  Binomial Classification Metrics
    • 59  Confusion Matrix
    • 60  ROC Analysis

    • 61  Stem-and-Leaf Plot
    • 62  Histogram
    • 63  Data Quality Forensics
    • 64  Quantiles
    • 65  Central Tendency
    • 66  Variability
    • 67  Skewness & Kurtosis
    • 68  Concentration
    • 69  Notched Boxplot
    • 70  Scatterplot
    • 71  Pearson Correlation
    • 72  Rank Correlation
    • 73  Partial Pearson Correlation
    • 74  Simple Linear Regression
    • 75  Moments
    • 76  Quantile-Quantile Plot (QQ Plot)
    • 77  Normal Probability Plot
    • 78  Probability Plot Correlation Coefficient Plot (PPCC Plot)
    • 79  Box-Cox Normality Plot
    • 80  Kernel Density Estimation
    • 81  Bivariate Kernel Density Plot
    • 82  Conditional EDA: Panel Diagnostics
    • 83  Bootstrap Plot (Central Tendency)
    • 84  Survey Scores Rank Order Comparison
    • 85  Cronbach Alpha

    • 86  Equi-distant Time Series
    • 87  Time Series Plot (Run Sequence Plot)
    • 88  Mean Plot
    • 89  Blocked Bootstrap Plot (Central Tendency)
    • 90  Standard Deviation-Mean Plot
    • 91  Variance Reduction Matrix
    • 92  (Partial) Autocorrelation Function
    • 93  Periodogram & Cumulative Periodogram

    • 94  Problems
  • Hypothesis Testing
    • 95  Normal Distributions revisited
    • 96  The Population
    • 97  The Sample
    • 98  The One-Sided Hypothesis Test
    • 99  The Two-Sided Hypothesis Test
    • 100  When to use a one-sided or two-sided test?
    • 101  What if \(\sigma\) is unknown?
    • 102  The Central Limit Theorem (revisited)
    • 103  Statistical Test of the Population Mean with known Variance
    • 104  Statistical Test of the Population Mean with unknown Variance
    • 105  Statistical Test of the Variance
    • 106  Statistical Test of the Population Proportion
    • 107  Statistical Test of the Standard Deviation \(\sigma\)
    • 108  Statistical Test of the difference between Means -- Independent/Unpaired Samples
    • 109  Statistical Test of the difference between Means -- Dependent/Paired Samples
    • 110  Statistical Test of the difference between Variances -- Independent/Unpaired Samples

    • 111  Hypothesis Testing for Research Purposes
    • 112  Decision Thresholds, Alpha, and Confidence Levels
    • 113  Bayesian Inference for Decision-Making
    • 114  One Sample t-Test
    • 115  Skewness & Kurtosis Tests
    • 116  Paired Two Sample t-Test
    • 117  Wilcoxon Signed-Rank Test
    • 118  Unpaired Two Sample t-Test
    • 119  Unpaired Two Sample Welch Test
    • 120  Two One-Sided Tests (TOST) for Equivalence
    • 121  Mann-Whitney U test (Wilcoxon Rank-Sum Test)
    • 122  Bayesian Two Sample Test
    • 123  Median Test based on Notched Boxplots
    • 124  Chi-Squared Tests for Count Data
    • 125  Kolmogorov-Smirnov Test
    • 126  One Way Analysis of Variance (1-way ANOVA)
    • 127  Kruskal-Wallis Test
    • 128  Two Way Analysis of Variance (2-way ANOVA)
    • 129  Repeated Measures ANOVA
    • 130  Friedman Test
    • 131  Testing Correlations
    • 132  A Note on Causality

    • 133  Problems
  • Regression Models
    • 134  Simple Linear Regression Model (SLRM)
    • 135  Multiple Linear Regression Model (MLRM)
    • 136  Logistic Regression
    • 137  Generalized Linear Models
    • 138  Multinomial and Ordinal Logistic Regression
    • 139  Cox Proportional Hazards Regression
    • 140  Conditional Inference Trees
    • 141  Leaf Diagnostics for Conditional Inference Trees
    • 142  Conditional Random Forests
    • 143  Hypothesis Testing with Linear Regression Models (from a Practical Point of View)

    • 144  Problems
  • Introduction to Time Series Analysis
    • 145  Case: the Market of Health and Personal Care Products
    • 146  Decomposition of Time Series
    • 147  Ad hoc Forecasting of Time Series
  • Box-Jenkins Analysis
    • 148  Introduction to Box-Jenkins Analysis
    • 149  Theoretical Concepts
    • 150  Stationarity
    • 151  Identifying ARMA parameters
    • 152  Estimating ARMA Parameters and Residual Diagnostics
    • 153  Forecasting with ARIMA models
    • 154  Intervention Analysis
    • 155  Cross-Correlation Function
    • 156  Transfer Function Noise Models
    • 157  General-to-Specific Modeling
  • Model Building Strategies
    • 158  Introduction to Model Building Strategies
    • 159  Manual Model Building
    • 160  Model Validation
    • 161  Regularization Methods
    • 162  Hyperparameter Optimization Strategies
    • 163  Guided Model Building in Practice
    • 164  Diagnostics, Revision, and Guided Forecasting
    • 165  Leakage, Target Encoding, and Robust Regression
  • References
  • Appendices
    • Appendices
    • A  Method Selection Guide
    • B  Presentations and Teaching Materials
    • C  R Language Concepts for Statistical Computing
    • D  Matrix Algebra
    • E  Standard Normal Table (Gaussian Table)
    • F  Critical values of Student’s \(t\) distribution with \(\nu\) degrees of freedom
    • G  Upper-tail critical values of the \(\chi^2\)-distribution with \(\nu\) degrees of freedom
    • H  Lower-tail critical values of the \(\chi^2\)-distribution with \(\nu\) degrees of freedom

Table of contents

  • 76.1 Definition
  • 76.2 Vertical axis
  • 76.3 Horizontal axis
  • 76.4 R Module
    • 76.4.1 Public website
    • 76.4.2 RFC
  • 76.5 Purpose
  • 76.6 Pros & Cons
    • 76.6.1 Pros
    • 76.6.2 Cons
  • 76.7 Example
  1. Descriptive Statistics & Exploratory Data Analysis
  2. 76  Quantile-Quantile Plot (QQ Plot)

76  Quantile-Quantile Plot (QQ Plot)

76.1 Definition

The Quantile-Quantile Plot (QQ Plot) (Wilk and Gnanadesikan 1968) is computed for quantitative data and involves the following computations

  • a series of Quantiles (as defined in Chapter 64) is computed for the univariate data of interest (called \(x\))
  • the same Quantiles are also computed for another univariate data series \(y\)
  • the distributions of both series \(x\) and \(y\) are compared by drawing a scatter plot (see Chapter 70) of their respective Quantiles (the sample sizes do not have to be equal)
  • a reference line is drawn which identifies the point for which the Quantiles of both data sets are equal

76.2 Vertical axis

The Quantiles of one variable (e.g. \(y\)) are shown on the vertical axis.

76.3 Horizontal axis

The Quantiles of the other variable (e.g. \(x\)) are shown on the horizontal axis.

One often uses Quantiles which correspond to known distributions (instead of empirical data) on one of the axes (e.g. the horizontal axis). This allows the researcher to compare the distribution of a univariate variable against any theoretical distribution. If the theoretical distribution is normal, the plot is called a Normal QQ Plot.

76.4 R Module

76.4.1 Public website

The bivariate QQ Plot can be found on the public website:

  • https://compute.wessa.net/rwasp_qqplot.wasp

The Normal QQ Plot (which requires only one data series to be entered) is available in various places:

  • https://compute.wessa.net/rwasp_percentiles.wasp (Percentiles module)
  • https://compute.wessa.net/rwasp_varia1.wasp (Histogram and QQ Plot module from Aston University)
  • https://compute.wessa.net/rwasp_fitdistrnorm.wasp (ML Fitting of Normal Density)

76.4.2 RFC

The Normal QQ Plot can be found under the menu “Distributions / ML Fitting”.

To compute the bivariate QQ Plot on your local machine, the following script can be used in the R console:

library(car)
plot.qqline <- function(x,y,a=0.25, ...) {
  y <- quantile(y[!is.na(y)],c(a, 1-a))
  x <- quantile(x[!is.na(x)],c(a, 1-a))
  points(x,y,...)
  slope <- diff(y)/diff(x)
  int <- y[1]-slope*x[1]
  abline(int, slope, ...)
}
y <- c(20,16,19.8,18.4,17.1,15.5,14.7,17.1,15.4,16.2,15,17.2,16,17,14.4)
x <- c(88.6,71.6,93.3,84.3,80.6,75.2,69.7,82,69.4,83.3,79.6,82.6,80.6,83.5,76.3)
par1 = 0 #Number of bins (0 uses the default Sturges algorithm)
ylab = 'y'
xlab = 'x'
if(par1 > 0) {
  myhist<-hist(x, breaks=par1, col=2,main='Histogram (series X)')
} else {
  myhist <- hist(x, col=2)
}

if(par1 > 0) {
  myhist<-hist(y, breaks=par1, col=2,main='Histogram (series Y)')
} else {
  myhist <- hist(y, col=2)
}

qqPlot(x,main='Normal Q-Q Plot (series X)',ylab='Sample Quantiles',xlab='Normal Quantiles')

qqPlot(y,main='Normal Q-Q Plot (series Y)',ylab='Sample Quantiles',xlab='Normal Quantiles')

qqplot(x,y,main='Q-Q Plot (series X vs Y)',ylab='Sample Quantiles of series Y',xlab='Sample Quantiles of series X')
plot.qqline(x,y)
grid()

[1] 3 9
[1] 1 3

To compute the bivariate QQ Plot, the R code uses the standard qqplot function from base R. Note that the standard qqline function does not work for bivariate data (it is meant to be used to compare a univariate series against some theoretical distribution). Therefore, the R script defines a new function plot.qqline which allows to plot a line through the scatterplot of the bivariate QQ Plot.

Note that the Normal QQ Plot can be obtained through the base R qqplot function but this is not recommended. Instead, it is better to use the qqPlot function from the car package because it computes the confidence intervals.

76.5 Purpose

The ordinary (bivariate) QQ Plot is simply used to compare the shapes of two empirical distributions. More importantly, however, the QQ Plot can used with only one sample and a theoretical distribution. The Normal QQ Plot is the most prominent plot among all QQ Plots and is used in various types of analysis due to the importance of the Normal Distribution in inferential statistics. Note that the ML Fitting module automatically adapts the QQ Plot to the chosen distribution.

76.6 Pros & Cons

76.6.1 Pros

The QQ Plot has the following advantages:

  • It can be computed with many software packages.
  • It is relatively easy to interpret and conveys a lot of information in a simple graph.
  • Many readers are familiar with QQ Plots -- therefore it is one of the preferred methods to report information about the distribution of a variable of interest.
  • Unlike the Histogram, QQ Plots do not depend on any parameter (such as a number of bins).

76.6.2 Cons

The QQ Plot has the following disadvantages:

  • The QQ Plot does not provide unambiguous information about the whether the Quantiles (of both axes) match or not. It is, however, possible to compute the confidence intervals based on bootstrap sampling methods. Note: the car package in R provides these intervals via the qqPlot function (see the R Module section above).

76.7 Example

The R module below, shows the Histogram of the monthly births time series in Belgium and the fitted Normal Density. From this illustration it is clear that the time series is not normally distributed because we can identify a bimodal shape in the Histogram (whereas the Normal Distribution is unimodal).

Interactive Shiny app (click to load).
Open in new tab

The analysis shows the Normal QQ Plot with confidence intervals. There are many points which fall outside the confidence intervals -- this is an indication that the time series is not normally distributed.

Wilk, M. B., and R. Gnanadesikan. 1968. “Probability Plotting Methods for the Analysis of Data.” Biometrika 55 (1): 1–17. https://doi.org/10.1093/biomet/55.1.1.
75  Moments
77  Normal Probability Plot

© 2026 Patrick Wessa. Provided as-is, without warranty.

Feedback: e-mail | Anonymous contributions: click to copy (Sats) | click to copy (XMR)

Cookie Preferences