This entry is part of the Chart Index, the reference library for the Chart Design Field Guide.

The scatter plot is the analyst's microscope. Where the bar chart asks which is biggest? and the line chart asks how is it changing?, the scatter plot asks the most fundamental analytical question: are these two things related? Each point is a single observation; the cloud of points reveals — or refuses to reveal — a structure between two variables.

It is also the chart type that most rewards looking closely. Patterns in a scatter plot are not summaries. They are the raw evidence, and they will show you outliers, sub-populations, ceilings, and non-linear relationships that any aggregated form would hide.

What it is

A scatter plot maps two continuous variables to the x and y axes and represents each observation as a single point. The position of each point is its full encoding — no length, no area, just position-along-a-scale, which is the most accurate of the perceptual channels. The cloud of points reveals the joint distribution of the two variables: their correlation, their density, their outliers.

The hero chart above is the canonical scatter-plot problem: fifty landing pages, each plotted by its weight in kilobytes and its load time in milliseconds. A positive relationship is visible at a glance — heavier pages tend to load slower. But the scatter plot does more than confirm the correlation. Look at the upper-left: a small cluster of light pages that load slowly anyway. That suggests a second cause (cold-start latency, blocking scripts) which an average would have smoothed away. Randomise the data and the cloud jitters, but the slope and the stray cluster persist — which is exactly the kind of structure the form is for.

When to use it

Scatter plots are the right choice when:

  • You have two continuous variables and want to see their joint structure.
  • The reader's question is "are these related?" or "are there outliers?" or "are there sub-groups?".
  • You have enough observations to form a perceptible cloud — usually at least 30, ideally 100+.
  • You want to show the raw data, not a summary. The scatter plot is the most data-faithful chart type.
  • You suspect non-linear relationships, heteroscedasticity, or multiple sub-populations.
A linear relationship: growing-season rainfall against wheat yield
Forty districts, one dot each. The cloud leans up and to the right, and the slope is roughly constant across the range — the simplest story a scatter plot can tell.
A non-linear relationship: cruising speed against fuel use
The same form, a different shape. Consumption falls, bottoms out near 75 km/h, then climbs steeply. A correlation coefficient would call this weak; the cloud says otherwise.

When not to use it

  • One variable. Scatter plots are bivariate. For a single variable, use a histogram, density plot, or strip plot.
  • Very few points. A scatter plot with five points is just a labelled set of coordinates. Treat it as a labelled diagram, not a statistical chart.
  • Massive overplotting. With tens of thousands of points, the cloud becomes a blob. Use a hexbin, 2D density, or alpha-blended scatter instead.
  • One variable is categorical. If one axis is categorical (region, product), a strip plot or jittered scatter is clearer. A true scatter plot wants both axes continuous.

Design principles

Use small, clear marks

Points should be 4–8 pixels — large enough to perceive individually, small enough that hundreds of them can sit on the same canvas without merging. A common error is to use 14px markers, which produce a chart of overlapping shapes rather than a distribution.

Marks too large: the cloud becomes a blob
One hundred and twenty observations at 16 px. Where the data is dense the circles fuse, and the reader can no longer tell forty points from four hundred.
Marks right-sized: the same data at 6 px
Same observations, smaller marks. The dense band along the diagonal and the sparse fringe are now both legible.

Reduce alpha for overplotting, or bin it

When points overlap, set their opacity to around 0.4–0.6. Dense regions become visibly darker; sparse regions stay light. The eye reads density without losing individual points. Past a few thousand observations even that fails, and the honest move is to stop drawing points and start counting them: a hexbin shades each cell by how many observations fall inside it.

Overplotted: 700 solid points
Seven hundred taxi trips plotted by distance and fare. The ridge along the metered rate is visible, but the core of the cloud is a solid mass — is it 200 trips or 500?
Binned: the same 700 trips as a hexbin
Each hexagon is shaded by the number of trips inside it. The dense core is now the darkest region rather than an undifferentiated blob, and the sparse tail of surcharged fares stays visible.

Avoid connecting the dots

Lines between scatter-plot points imply order between observations. Unless the points are ordered along a third dimension (time, dose, distance), do not connect them. If you need a trend, fit a smooth — a loess curve, a regression line — not segments.

Highlight outliers

If a handful of points carry the story, give them a different colour or label them directly. Few's principle of reducing the burden of visual lookup applies — the reader should not have to hunt.

Outliers in colour, everything else in grey
Four pages sit far above the trend. Drawn in red against a neutral cloud, they are found in a glance; drawn in the same blue as the rest they would be found only by a reader who already knew to look.

Honest axes

Like bar charts, scatter plots are sensitive to axis truncation. A correlation that looks strong on a zoomed axis weakens when the axis includes the full range. Tufte's lie factor applies: the visual relationship should match the statistical one. Position encodings do not need a zero baseline the way bars do, but the reader must be able to see what range the axes cover.

Add a marginal histogram when distribution matters

A scatter plot shows the joint distribution but not the marginals. A small histogram or density curve along each axis answers what does the distribution of x look like, ignoring y? — a question the cloud alone does not.

Label the axes with units

Every continuous axis needs units. Page weight without KB, load time without ms — these force the reader to guess. The units belong in the axis legend or the subtitle, not in a footnote.

Anatomy

The composition of a scatter plot
An anatomical guide

A scatter plot is the most stripped-back of all chart types: two axes and a cloud of points. A fit line, when present, is a single annotation. Everything is in service of the cloud.

  • Bubble chart — a scatter plot with a third variable encoded as point size. Covered in a separate entry.
  • Hexbin / 2D density — scatter plot for very large N, where overplotting destroys the cloud. Bin the points and shade.
  • Strip plot — a scatter plot where one axis is categorical. Show individual observations within categories.
  • Bee swarm — a jittered strip plot with collision avoidance, so every point is visible.
  • Connected scatter — points connected by a path when ordered along a third variable (typically time).

Reading list

  • Cleveland, W. & McGill, R. (1984). Graphical Perception. Position-along-a-scale is the most accurate channel.
  • Anscombe, F. (1973). Graphs in Statistical Analysis. Why the chart matters more than the summary.
  • Tukey, J. (1977). Exploratory Data Analysis. The original argument for showing the data.
  • Cairo, A. (2019). How Charts Lie. On axis truncation and the perceived strength of correlations.