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.

Daily commute time distributions — 12 months2026 sample · minutes · monthly KDE · bandwidth 0.4

Twelve months stacked from top (January) to bottom (December). The shifting peaks, widening tails, and cross-month bumps tell a seasonal story that twelve side-by-side histograms would not. The overlap is the design — it implies a continuous shifting landscape rather than twelve independent slices.

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 much overlap and rows merge into a blob; too little and the chart becomes a stack of disconnected curves. Wilke recommends 60–80% of one row's height showing through to the next — enough to imply continuity, not so much that adjacent peaks merge.

Use a sequential colour ramp

A subtle hue ramp keyed to the ordinal axis reinforces the order. From cool (early) to warm (late), or from light (early) to dark (late). Avoid categorical palettes — they fight the ordinal reading.

Ridge plot overlap settings
OVERLAP 0 — INDEPENDENTOVERLAP 0.4 — MEDIUMOVERLAP 0.7 — RIDGE
Three overlap values: zero (independent rows), medium (Wilke default), heavy (continuous landscape). Pick to match the message.

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.

Resist colour fill noise

Filled ridges with high opacity become solid bands; filled with low opacity become readable but 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

The Composition of a Ridge Plot
JanFebMarAprMayJunJulAugSepOctNovDec050100150PEAK SHIFTS BY MONTHROW LABEL
An anatomical guide

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.

  • 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.