Skip to content

Ridgeline chart

The shape of each group's spread, stacked.

Definition · Updated Nov 2, 2026

A ridgeline chart draws each group's distribution as a soft hill and stacks the hills with a slight overlap, so shapes compare down the page. Use it for response length by model, delivery time by region or scores by cohort.

Pay once. Every update included.

Live preview

Response length by modelDistribution of response length in tokens for 5 models: ATLAS 3 peaks near 540, KITE 2 peaks near 380, ORION peaks near 900, VEGA peaks near 260, NOVA peaks near 620; ATLAS 3, ORION and VEGA have a second, smaller peak.ATLAS 3KITE 2ORIONVEGANOVA05001K1.5K
Response length by model
ModelPeak (tokens)Spread (tokens)Weight
ATLAS 35401801
ATLAS 312502200.35
KITE 23801401
ORION9003001
ORION16002000.4
VEGA260901
VEGA7001600.25
NOVA6202401

Sample data: response length of five models, Atlas 3 to Nova, from 0 to 2K tokens

Size
Data shape
A shape per group: centre, spread and weight
Good for
Response length, delivery time, scores
Avoid when
Exact numbers per group are needed
Sizes
XS, S, M and L, re-laid out from the data

Anatomy

Inspect it like the Figma file.

The same layers, names and tokens as the component. Select one to read its size, fill and style.

Layers

055 / Ridgeline

chart/055-ridgeline-response-length
plot · ridgeline
Layer
area · atlas 3
Type
Vector
Size
688 × 44
Fill
data/primary
Group
Marks · 15

Layers

055 / Ridgeline

chart/055-ridgeline-response-length
plot · ridgeline
Layer
area · atlas 3
Type
Vector
Size
207 × 44
Fill
data/primary
Group
Marks · 15

Sizes

Re-laid out, never scaled.

The same data at XS, S, M and L. Every size is redrawn from the data, so text and line weights never shrink.

M against S

Width360 px480 px

Plot328 px440 px

Labels910

Marks1515

Height212 px246 px

Same tokens at every size: text styles, 1 px lines and mark radius stay put.

When to use

Shapes, down the page.

Three signs it fits, and three signs another type fits better.

Does the shape matter?

Five numbers per group are enough.

Yes: Keep the ridgeline

Are there several groups?

One group in bins.

Yes: Keep the ridgeline

Is it values, not over time?

Many series over time.

Yes: Keep the ridgeline

Code and Figma

One name in Figma and in code.

Every Figma property is a prop with the same name and values. One command installs it.

Figma

chart/055-ridgeline-response-length

size
legend
Property = propValuesDefault
size"xs" · "s" · "m" · "l""xs"
legendfalsefalse
color"cat-1" · "cat-2" · "cat-3" · "cat-4""cat-1"
npx shadcn add @chartory/ridgeline
ridgeline.tsx
import { Ridgeline } from "@/components/chartory/ridgeline"import { responseLength } from "./response-length"export function ResponseLength() {  return (    <Ridgeline      data={responseLength}      size="m"      legend={false}    />  )}

Hearth widget

Ridgeline as a widget.

The chart in a Hearth card with a hero number and two blocks. One token set, light and dark.

Code
Get the code

EmberPreset

ChartoryDefault preset

Pick the blocks, the size and the preset for your own widget.

Read the Hearth widget docs

FAQ

Ridgeline questions.

What people ask before they put a ridgeline in a dashboard.

Something else?

hello@usechartory.com
  • A slight overlap keeps every group on one card while each hill stays tall enough to show its shape.

Related types

The same question, a different shape of answer. Every type ships in Figma and in code.

Same family

Distribution

17 types in Chartory answer this question.