Normal Probability Plot
Paste a sample and this draws its normal Q-Q plot: every value is ranked, given a plotting position, and placed against the normal quantile of that position. Blom, Hazen, Weibull, Tukey and Cunnane use different rank formulas, so the same sample has slightly different expected quantiles under each convention. Here the convention is a button, the reference line is a button (through the quartiles, from the mean and standard deviation, or by least squares), and both are written under the chart, in the copied table and inside the SVG you download. Beside the plot is a table of rank, plotting position, expected quantile and residual, the first 200 rows on the page and every row in the copy.
Paste a sample into the Sample box to draw its normal Q-Q plot.
Values can be separated by commas, semicolons, spaces, tabs or new lines, so a column copied from a spreadsheet pastes straight in. Anything that is not a number is listed under the box rather than dropped, and up to 5,000 points are drawn. Outliers counts the points more than 2 root mean square residuals from the reference line: on a small sample the two ends often sit off the line without the sample being unusual. Your sample and the settings on this page are kept in this browser only.
Common questions
- What is a normal probability plot?
- It is a scatter plot of a sample against the normal distribution. The values are sorted, rank i of n is given a plotting position between 0 and 1, and that position is turned into the standard normal quantile it corresponds to. The ordered value goes on the vertical axis, its expected quantile on the horizontal axis. If the sample came from a normal distribution the points fall roughly along a straight line, so the plot is read as a shape rather than as a number. It is also called a normal Q-Q plot.
- Which plotting position formula does this use?
- Whichever you pick, and it says which on the chart. Blom is the default, (i - 0.375) / (n + 0.25), which is what R's ppoints uses for a sample of ten or fewer. Hazen is (i - 0.5) / n, Weibull is i / (n + 1), Tukey is (i - 1/3) / (n + 1/3) and Cunnane is (i - 0.4) / (n + 0.2). They differ most at the two ends of the sample and hardly at all in the middle, which is why the name travels with the plot, the copied table and the downloaded SVG.
- How is the reference line drawn?
- Three ways, and the one in use is named under the chart. Through the quartiles joins the first and third sample quartiles to their normal quantiles, using type-7 interpolation: h = (n - 1)p, then interpolate between the sorted values at zero-based indices floor(h) and floor(h) + 1. This is R's qqline default and is often less sensitive to tails than least squares. Small-sample quartiles can still depend on tail values; with [1, 2, 3], Q3 is 2.5, but with [1, 2, 103], Q3 is 52.5. Mean and standard deviation draws the fitted normal: the intercept is the sample mean and the slope is the sample standard deviation with n minus 1. Least squares fits the line that minimises the squared residuals, so every point pulls on it. When the first and third quartiles are the same value the quartile line has no slope, and the tool says so instead of drawing one.
- Does a straight plot prove my data is normal?
- No. A Q-Q plot is descriptive: it shows the shape of a sample, and it is not a test. Small samples wander off the line without anything being wrong, and a curve at the top or bottom points at skew or heavy tails rather than proving a cause. Use it to look at the data and to decide what to check next, not as evidence for a conclusion.
- What does the outlier count mean?
- It counts the points whose residual from the reference line is more than two root mean square residuals. That is a rule of thumb for what looks far from the line, not a test, and on a small sample the two ends often trip it even when the sample is unremarkable. The residual for each rank is in the table beside the plot and in the copied columns, so you can apply your own rule instead.
- How much data can I paste, and where does it go?
- Up to 5,000 values, separated by commas, semicolons, spaces, tabs or new lines, so a column copied from a spreadsheet pastes straight in. Anything that is not a number is listed under the box rather than dropped silently, and a sample under three values is refused with the count it has. The plot is drawn in your browser: the sample stays on your machine, is not uploaded, and the only copy of it is the draft this page keeps in your own browser storage.
- Can I save the plot or the numbers?
- Copy table puts every row on the clipboard as tab separated columns, rank, plotting position, normal quantile, ordered value, line fit and residual, with the convention and the line method on the first line. Download SVG saves the drawing as a vector file with the same caption inside it, so a plot pasted into a report still says how it was made. The copied numeric columns round-trip the accepted JavaScript doubles. If clipboard access is unavailable or denied, the page explains how to allow access and retry, or manually copy the visible rows.
- How do I construct a normal probability plot by hand?
- Sort the values from smallest to largest and number their ranks i from 1 to n. Choose a plotting position formula, calculate each probability p, then find its standard normal quantile z using an inverse normal table or calculator. Plot z horizontally and the ordered value vertically. For three values, Blom gives probabilities 5/26, 1/2 and 21/26, approximately 0.1923, 0.5000 and 0.8077. The Position and Quantile columns show these steps for your sample; Copy table includes every rank.
- How do I read right-skewed and left-skewed plots?
- Read the axes first: this chart puts expected normal quantiles horizontally and sample values vertically. A roughly straight pattern is consistent with a normal shape. Right skew tends to bend upward, with large values rising above the reference line; left skew tends to bend downward, with small values extending below it. Compare the Roughly normal and Right skewed examples using their Use buttons. Shape is descriptive, especially for small samples, and does not establish a cause.
- Can I make a normal probability plot of residuals?
- Yes, if you already have the numeric residuals from your fitted model. Paste those values into Sample to compare their distribution with normal quantiles. This tool does not fit a regression model or calculate model residuals from predictors and responses. The Residual column here has a different meaning: each ordered input value minus the Q-Q reference line at its expected quantile.
- What does the correlation coefficient measure?
- It is the Pearson correlation between ordered sample values and their expected normal quantiles under the selected plotting positions. A value near 1 describes a nearly straight pattern; it is not a probability that your data is normal. Constant samples have no correlation because there is no spread. This tool does not calculate a normality-test p-value or a critical value.
- Is a normal probability plot the same as a Q-Q plot?
- A normal probability plot is a normal Q-Q plot: one sample is compared with theoretical normal quantiles. Q-Q is a broader term that can also describe comparing two samples or comparing a sample with another distribution. This tool provides the normal comparison only; it does not provide half-normal or log-normal plotting modes.
- What are the numeric precision limits?
- Input is converted to JavaScript double precision, about 15 to 17 significant digits. Different decimal strings can round to the same accepted number, especially above 9,007,199,254,740,991. Nonzero decimal entries that underflow to zero, such as 1e-400, are skipped and listed; rescale them before pasting. Ordered values and every numeric clipboard column use a representation that round-trips the accepted double. On-screen probabilities, quantiles, correlation and residuals are rounded. Axis coordinates keep their precision; long labels use a stated offset and scale so small spreads at large offsets remain distinguishable. Extremely wide spreads can still exceed finite fit arithmetic and are refused with rescaling instructions.
Exact plotting positions under the convention you choose are the stated rank formulas evaluated in JavaScript double precision (about 15 to 17 reliable decimal digits), with that convention and the reference-line method named on the chart. Inputs round to the nearest representable number; nonzero entries that underflow to zero are skipped and listed. Ordered values and all copied numeric columns preserve the accepted doubles; on-screen derived columns are rounded. Compact axis labels state an offset and scale when needed. A Q-Q plot is a way of looking at a sample and is not a test: points near the line are not proof that data is normal.