This entry is part of the Chart Index, the reference library for the Chart Design Field Guide.
The ridge plot — also known as the joy plot, after Joy Division's Unknown Pleasures album cover — stacks density curves vertically. Each row is a group; each curve is that group's distribution. The curves overlap intentionally, ridges in a landscape, and the eye reads them as a comparative ranking of shapes.
The form is built for many groups (often dozens) and a single continuous variable, where the question is how the distribution shifts across an ordinal dimension: cohort, week, year, region. A panel of side-by-side violins handles the same data; ridges do it more densely, with a more striking visual rhythm.
What it is
A ridge plot maps an ordinal categorical variable to vertical position (often time, cohort, or rank) and a continuous variable to horizontal position. Each group's distribution is rendered as a density curve, baseline-aligned, and stacked above the previous one with a small overlap. The result resembles a topographic profile or a wave-like landscape.
The hero chart above stacks twelve months of Sydney daily maximum temperatures, January at the top and December at the bottom. The peaks drift left through autumn, bottom out in June and July, and drift back right through spring — the seasonal cycle read as a single shape. Winter ridges are narrow and tall; summer ridges are wide and low, because a hot month has more variable days. Randomise the observations and every ridge is re-estimated from its raw values; the drift survives because it is in the data, not in the drawing.
When to use it
Ridge plots are the right choice when:
- You have many groups with an ordinal axis — month, cohort, age band, year.
- The reader's question is "how does this distribution shift over time / across order?"
- Each group has enough observations for a density estimate to be reliable (≥100).
- The shape change (mode shifting, tails growing, bimodality emerging) is the story.
- You want density without losing the panel structure — twelve violins side-by-side use horizontal space; ridges use vertical.
When not to use it
- Few groups. Ridge plots need at least five or six rows to establish a rhythm. For three groups, side-by-side violins are clearer.
- Non-ordinal categories. The vertical stacking implies an order. If the groups have no natural sequence (regions, products), do not impose one — use a panel of independent violins.
- Precise reading of any single distribution. Overlap and small height force each curve to be approximate. For one distribution, a histogram or density plot wins.
- Comparable across far-apart rows. The eye reads adjacent ridges easily but struggles to compare row 1 with row 12 directly. Sort to put the comparison of interest adjacent.
Design principles
Order rows by the ordinal axis
Time-ordered, rank-ordered, age-ordered. The point of a ridge is that adjacent rows are comparable; that comparability requires meaningful order. Random or alphabetical row order destroys the form.
Choose overlap deliberately
Too little overlap and the chart becomes a stack of disconnected curves; too much and rows merge into a blob. Wilke's guidance is that each ridge should rise well into the row above it — enough to imply continuity, not so much that adjacent peaks lose their own baselines.
Use one hue, or a ramp keyed to the order
A subtle ramp keyed to the ordinal axis reinforces the order: from light (early) to dark (late), or cool to warm. Failing that, a single hue is better than a categorical palette — categorical colours label each row as a different kind of thing, and that fights the ordinal reading the stacking has already established.
Annotate the rows clearly
Each row needs its label visible to its left. Compact labels — Jan, Feb, Mar — work; long labels make the chart top-heavy. The labels are the row identifiers; without them the ridges are an abstract shape.
Mark a vertical reference line
A single vertical guide at the cross-group median, a regulatory limit, or an event threshold helps the eye anchor. Without it, comparing peak positions across rows depends on the reader carrying the x-axis in their head. Quiet vertical gridlines, as in the figures here, do part of that job.
Resist colour fill noise
Filled ridges with high opacity become solid bands that hide the curve behind; filled with low opacity they stay readable and visually quiet. Choose a fill opacity that supports the overlap without overwhelming it: 20–30% is the typical range.
Avoid for non-distribution data
Some implementations stretch the ridge metaphor to non-distribution data (time series, smoothed counts). The form's perceptual contract is each row is a density curve. Breaking that contract confuses readers who recognise the form.
Anatomy
A ridge plot is structurally a stack of density curves with calibrated overlap. The visual rhythm is part of the form; the data is the changing peak position, width, and tail length.
Related types
- Side-by-side violins — same data, panel layout instead of stacked. Better for non-ordinal groups.
- Heatmap — same many-group, one-variable structure but with magnitude encoded as colour rather than curve.
- Density plot — single distribution; the ridge's basic building block.
- Stream graph — similar visual rhythm for stacked time-series data; different semantics.
- Histogram panel / small multiples — alternative for many distributions when shape detail matters.
Reading list
- Wilke, C. (2019). Fundamentals of Data Visualization. The chapter on ridgeline plots.
- Wickham, H. & Stryjewski, L. (2011). 40 Years of Boxplots. Historical context for distribution comparison forms.
- Saville, P. (1979). Unknown Pleasures album cover. The cultural source of the joy in joy plot.