Small Multiples
chartAlso known as: trellis chart, lattice plot, faceted chart, panel chart, grid of charts
Description
Small multiples display the same type of chart repeated across a grid, with each panel showing a different subset of the data (typically one category or group per panel). All panels share identical axes, scales, and visual encodings, so the viewer can compare patterns across groups by scanning the grid rather than decoding overlapping marks within a single chart. Edward Tufte, who popularized the term, called them “the same design structure repeated” — and the repetition is the key to their power.
The approach solves a fundamental problem in visualization: showing how patterns vary across categories without overplotting. A single line chart with 20 overlapping series is unreadable; 20 small line charts arranged in a grid, each showing one series, lets the eye compare slopes, peaks, and anomalies across panels effortlessly. The human visual system excels at detecting differences in spatially adjacent, identically formatted displays.
Small multiples work with virtually any base chart type — line charts, bar charts, scatterplots, maps, histograms — making them one of the most versatile compositional techniques in visualization. The main design challenge is managing the number of panels: too many (>30) makes each panel too small to read, and the grid becomes overwhelming. Careful ordering of panels (alphabetical, by a summary statistic, or by geographic proximity) significantly affects how easily viewers can find patterns.
When to Use
- Comparing patterns, trends, or distributions across many groups without overlapping marks
- Showing how the same variable behaves differently across categories, time periods, or geographic regions
- Replacing a single overcrowded chart (too many series, too much overlap) with a readable grid
- Enabling pattern detection through spatial juxtaposition
When NOT to Use
- When there are too many categories (>30) — each panel becomes too small to read; consider aggregating or filtering
- When direct overlay is needed for precise point-by-point comparison — use a single line graph with few series
- When the number of categories is very small (2-3) — a single combined chart with a legend is simpler
- When the viewer needs to see the total or aggregate across all groups — small multiples fragment the total view
Anatomy
- Panels (facets): Individual mini-charts, each showing one subset of the data
- Grid layout: Panels arranged in rows and columns; row/column ordering can be alphabetical, by value, or by geography
- Shared axes: All panels use identical x and y scales, enabling cross-panel comparison
- Panel labels: Titles or headers on each panel identifying the subset (category name, time period, region)
- Shared legend: A single legend for the entire grid, since all panels use the same visual encoding
- Grid lines: Light reference lines shared across panels to aid value estimation
Variations
- Trellis plot (lattice plot): The statistical computing term for small multiples, particularly in R’s lattice and ggplot2 facet_wrap
- Faceted chart: The general term in modern visualization libraries (Observable Plot, ggplot2, Vega-Lite)
- Small multiple maps: A grid of maps, each showing one time period or variable — common in geographic analysis
- Sparkline grid: An extreme form of small multiples where each panel is reduced to a tiny inline chart (sparkline)
- Scrollable small multiples: When the grid is too large for one screen, panels are arranged in a scrollable vertical list
Code Reference
// Observable Plot - faceted line chart as small multiples
Plot.plot({
facet: {data, y: "category"},
fy: {label: null},
marks: [
Plot.line(data, {
x: "date", y: "value",
stroke: "category", strokeWidth: 1.5
}),
Plot.ruleY([0])
],
y: {grid: true},
width: 800,
height: 600
})