✦ Bland-Altman Plot Generator

Bland-Altman Plot Generator for method comparison studies

Upload paired measurements from two methods and get a publication-ready Bland-Altman plot with the mean difference (bias), 95% limits of agreement and their confidence intervals. No SPSS, MedCalc or R.

Your data

Free account · daily credits included · no credit card

Preview

Example result · generated by FigCanvas from this sample data and prompt

Bland-Altman plot of a glucose meter against a laboratory reference with percentage differences, bias of 4.5% and limits of agreement
Free daily creditsEditable SVG exportPublication-ready output
Fig. 01 — Examples

Bland-Altman plot examples

Both figures were generated by FigCanvas from the sample datasets above (simulated measurements) with the prompts shown. The glucose meter reads 4.5% higher than the lab on average, with 95% limits of agreement from −6.6% to 15.6%; the cuff reads 4.7 mmHg lower than the arterial line, with limits from −20.8 to 11.5 mmHg. The shaded bands are the 95% confidence intervals of the bias and each limit.

Bland-Altman plot of a glucose meter against a laboratory reference with percentage differences, bias of 4.5% and limits of agreement
Fig. 1aPercentage difference
Bland-Altman plot of cuff versus arterial line systolic blood pressure with bias and 95% limits of agreement
Fig. 1bAbsolute difference
§ Reading the plot

What a Bland-Altman plot shows

A Bland-Altman plot, also called a difference plot or Tukey mean-difference plot, shows how well two methods of measuring the same quantity agree. For each subject it plots the difference between the two methods against their mean. It was described by Bland and Altman in The Lancet in 1986 and is the expected figure in method comparison and assay validation studies.

How to read the plot

The x-axis is the mean of the two measurements; the y-axis is their difference. The solid line is the mean difference, or bias: how much one method reads higher or lower on average. The dashed lines are the 95% limits of agreement, bias ± 1.96 standard deviations of the differences.

About 95% of differences between the methods are expected to fall between the limits. Whether that range is acceptable is a clinical or scientific judgement, set before the study, not a statistical test.

Patterns to look for

A cloud centred away from zero means systematic bias. A funnel shape, with differences that grow with the mean, means the error is proportional; plot percentage differences or log-transform the data. A sloping cloud means one method has a different scale and the limits of agreement are misleading.

Why not just a correlation?

Two methods can be almost perfectly correlated and still disagree: a meter that always reads 20% high has r close to 1. Correlation measures association, not agreement, which is the point Bland and Altman made in 1986.

Report the bias and limits of agreement, with their confidence intervals, alongside the plot.

Variants

Use percentage differences when the error scales with the measured value. Use a reference method on the x-axis instead of the mean only when one method is a true gold standard. For repeated measurements per subject, the limits of agreement need a correction for within-subject variation.

Fig. 03 — Data format

How to lay out data for a Bland-Altman plot

Use one row per subject or sample, with the two methods side by side. FigCanvas computes the means, differences, bias and limits of agreement.

subject
Optional ID for each subject or sample.
method A
Measurement from the first method, for example the new device or assay.
method B
Measurement of the same quantity from the second method, for example the reference.
replicate
Optional. Add when there are several measurements per subject, so repeated measures can be handled.
subjectlab_reference_mg_dlglucose_meter_mg_dl
G0182.391.9
G02106.6126.3
G03233.3247.8
G04300.4311.4

State which method is subtracted from which (for example meter − lab) in the axis label; the sign of the bias depends on it.

§ MethodFour steps

How to make a Bland-Altman plot with FigCanvas

Go from paired measurements to a publication-ready figure in four steps.

Step 01

Upload paired data

Upload a CSV or Excel file with the two methods in two columns, or load a sample dataset.

Step 02

Choose the comparison

FigCanvas identifies the two methods and suggests the setup: difference direction, absolute or percentage differences, and confidence intervals for the limits.

Step 03

Generate the figure

Bias, limits of agreement and their confidence intervals are computed in Python from your data and drawn with labelled reference lines.

Step 04

Refine and export

Change axis labels, units or colors in plain language, then export SVG, PDF or PNG for the paper.

Fig. 04 — Why FigCanvas

Why researchers make their figures with FigCanvas

01

Limits computed and labelled

Bias and the 95% limits of agreement are calculated from your data and written next to each line, so the values in the text and on the figure match.

02

Confidence intervals for the limits

Add the 95% confidence interval of the bias and of each limit of agreement, as recommended for method comparison reports.

03

Absolute or percentage differences

Switch to percentage or log-ratio differences when the error grows with the measured value.

04

No SPSS, MedCalc or R

Skip the spreadsheet formulas and statistics packages. Upload two columns and get the figure.

§ Q & AUpdated Oct 30, 2026

Bland-Altman plot FAQs

A Bland-Altman plot compares two measurement methods. Each point is one subject: the x-axis is the mean of the two measurements and the y-axis is their difference. Horizontal lines mark the mean difference (bias) and the 95% limits of agreement (bias ± 1.96 SD).

Check the bias line for systematic over- or under-reading, then the limits of agreement for how far individual measurements can differ. Look for patterns: a funnel shape suggests proportional error and a slope suggests a scale difference between methods. Whether the limits are acceptable depends on a clinically relevant threshold set in advance.

Compute the difference for every pair, then the mean (bias) and standard deviation (SD) of the differences. The 95% limits of agreement are bias − 1.96 × SD and bias + 1.96 × SD.

Use absolute differences when the spread of differences is constant across the measurement range. If the differences grow with the mean, use percentage differences or log-transform the data before plotting.

Correlation measures whether two methods rise and fall together, not whether they give the same value. A method with a constant 20% bias can still have a correlation near 1. The Bland-Altman plot shows the actual size of the disagreement.

Add two columns: the mean of the two methods, (A + B) / 2, and their difference, A − B. Compute the bias with AVERAGE of the differences and the standard deviation with STDEV.S; the limits of agreement are bias ± 1.96 × SD. Plot the means against the differences as a scatter chart and add three horizontal lines. The FigCanvas Bland-Altman plot generator does all of this from the two columns.

In R, use bland.altman.plot() from the BlandAltmanLeh package or the blandr package. In Python, statsmodels has sm.graphics.mean_diff_plot(a, b). In GraphPad Prism, enter the two methods as columns and run the Bland-Altman analysis from the column analyses. Without any of these, upload the two columns to the FigCanvas Bland-Altman plot generator.

There is no universal cut-off: set the acceptable difference before the study from clinical requirements. Standards give examples. ISO 15197:2013 requires 95% of blood glucose meter results to be within ±15 mg/dL of the reference below 100 mg/dL and within ±15% at or above 100 mg/dL. For blood pressure devices, the AAMI/ISO 81060-2 criterion is a mean difference of no more than 5 mmHg with a standard deviation of no more than 8 mmHg.

You can sign up for free and make figures with the free daily credits. Free exports are watermarked PNG; Pro and Credit Pack users export editable SVG and 300 DPI PDF, ready for journal submission.

§ Start

Make a Bland-Altman plot from your measurements

Upload paired measurements and get the bias, limits of agreement and a publication-ready difference plot in about a minute.

Free daily creditsEditable SVG exportPublication-ready output
Try the Bland-Altman plot generator— it's free