Ridgeline Plume: 8 how-to guides (Unknown Pleasures, normals, animation…)
Histogram per group, the Unknown Pleasures look, top 10 years, deviation from the normal, year-by-year animation and annotations, step by step.
Lire en françaisThese recipes assume you already have a Ridgeline Plume in place. If not, start with the getting started guide: the examples reuse its data. Features marked ★ are premium: they work without a license, with a watermark.
How do I compare distributions (a histogram per group)?
You want to see whether one warehouse delivers more slowly than another: not just the average, but the whole spread of delivery times.
- In your
Orderstable (one row per order, withWarehouseandDeliveryDays), create a calculated column that puts each order in a bin:Delivery bin = INT ( Orders[DeliveryDays] ) -- 0, 1, 2, 3… days (whole part of the delivery time) - Create the height measure: the share of the warehouse's orders that falls in each bin.
Share of orders = DIVIDE ( COUNTROWS ( Orders ), -- orders from this warehouse in this bin CALCULATE ( COUNTROWS ( Orders ), ALL ( Orders[Delivery bin] ) ) -- all orders from this warehouse ) - Drag
Warehouseinto Ridge (one per value),Delivery bininto X axis,Share of ordersinto Height. - Format › Ridges › Curve: Smooth. Height scale: Shared by all ridges.
- Format › Sort › Ridge order: By mean ↓.
Result: one hill per warehouse. A slow warehouse has a hill shifted to the right; an inconsistent warehouse, a wider, flatter hill. Because the height is a share, warehouses of different sizes remain comparable.
How do I get the "Unknown Pleasures" look?
You want the Joy Division album cover: white lines on a black background, each ridge hiding the ones behind it.
- Format › Frame › Background: on. Color:
#000000. - Format › Data colors › Color by: Single color. Color:
#ffffff. - Data colors › Apply color to: Crest line only.
- Data colors › Hide ridges behind (opaque): on. Color under the line:
#000000. - Ridges › Overlap (%):
350. - Turn off the toggle on the Category labels, X axis and Legend cards.
Result: the album cover look, in the free version. The style Format › Style › Style = Unknown Pleasures ★ produces this look in a single choice.
How do I sort ridges by mean and keep only the 10 hottest years?
A 70-year ridgeline is beautiful but dense; for a clear message, show only the extremes.
- Drag
Avg max tempinto the Order field. - Format › Sort › Ridge order: By 'Order' field ↓. Result: the hottest year at the top (free).
- Sort › Keep N ridges (0 = all) ★:
10. - Sort › Keep: Top N by 'Order'.
Result: the 10 hottest years, from hottest to least hot. A variant that removes no ridges: Analytics pane › Reference & analytics › N extreme ridges (0 = off) = 10 ★ keeps these years in color and turns the others gray.
How do I compare each year with a normal? ★
You want to see, day by day, when each year was warmer or colder than usual.
- Create the reference measure (here the average of the first ten years):
Normal 1995-2004 = CALCULATE ( [Smoothed temp 7d], -- the same measure as the height… Weather[Year] >= 1995, -- …calculated over the years 1995… Weather[Year] <= 2004 -- …to 2004, whatever the ridge's year ) - Drag
Normal 1995-2004into the Reference ★ field. A dashed curve appears on each ridge. - Open the Analytics pane, Reference & analytics ★ card › Color the gap to reference: on.
Result: on each ridge, the parts above the normal turn red and those below turn blue. Variant: create Anomaly = [Smoothed temp 7d] - [Normal 1995-2004], put it in Color and choose the Plume (diverging) palette (turn on Style › Customize colors, then Gradient palette).
How do I tell the story year after year? ★
In a meeting, an animation that draws the years one by one makes more of an impression than a static chart.
- Format › Playback ★ › Time per ridge (ms):
150(for 30 years). - Big counter in background: on. The year is shown in large type behind the ridges.
- Pause on annotated ridges: on, if you have annotations.
- Click the visual's ▶ button.
Result: the ridges are drawn year after year. Drag the progress bar to go back to a year. To have the other visuals follow the year being played, turn on Current ridge filters the report.
How do I show "you are here" when a slicer filters the page? ★
A year slicer on the page filters the ridgeline: only one ridge is left and you lose the comparison. You want to keep all the years and mark the selected one.
- Select the year slicer.
- In the ribbon, on the Format tab, click Edit interactions.
- Above the ridgeline, click the Highlight icon (instead of Filter). Click Edit interactions again to leave this mode.
- In the ridgeline, Format › Interactions › Highlighted ridges: Cursor only ★.
- Interactions › Cursor style ★: Arrow on label. Cursor label:
Selected year.
Result: all the ridges stay visible and the year chosen in the slicer is marked with an arrow. Another method, without editing interactions: create a disconnected table YearCursor = SELECTCOLUMNS ( GENERATESERIES ( 1995, 2024, 1 ), "Year", [Value] ), use it as a slicer, then drag the measure Selected year = SELECTEDVALUE ( YearCursor[Year] ) into the Cursor: current ridge ★ field.
How do I flag an event on a ridge? ★
You want to write "Heat wave" on the 2019 ridge, at the date of the peak.
- Create the measure:
Event = IF ( SELECTEDVALUE ( Weather[Year] ) = 2019 -- on the 2019 ridge… && SELECTEDVALUE ( Weather[DayOfYear] ) = 206, -- …on July 25 "Heat wave", -- write this text BLANK () -- nothing anywhere else ) - Drag
Eventinto the Annotation text ★ field. - Format › Annotations ★ › Style: Bubble.
Result: a "Heat wave" bubble is attached to the 2019 ridge, on July 25. With an events table, replace the IF with a lookup of the text of that day's event.
How do I explore one year in detail? ★
The ridgeline shows the overall shape; focus mode gives the exact values for one year.
- Double-click the 2003 ridge. The other ridges disappear, and 2003 grows, with an X axis and a Y axis.
- Click the ▶ arrow (next ridge) to move to 2004 without going back to the ridgeline.
- Click ← Back (or press Esc) to return to the ridgeline.
To keep the other years in the background, turn on Format › Focus mode ★ › Keep other ridges as ghosts. The focus and the chosen mode are saved by bookmarks.
How do I compare every year on the same axes? ★
Offset ridges show the shape of each year; to see whether 2003 and 2022 stand out, you have to overlay them on the others.
- Format › Layout › Display mode: Comparison (overlay) ★.
- Comparison ★ card, Ridges in color group: Ridges in color (names) =
2003; 2022. - Other ridges group: turn on In gray (spaghetti).
- Reference group: Reference curve = Median of all ridges; turn on Color the gap to the reference.
Result: every year in thin gray on the same axes, 2003 and 2022 in color, the median as a benchmark and the gap shaded above and below. Ctrl + click on a ridge adds it to the colored ridges.
How do I keep the same scale when filtering?
A decade slicer removes years: the height scale refits to the remaining ridges, and two decades can no longer be compared.
- Create the measure:
Fixed scale =
CALCULATE (
MAXX ( VALUES ( Weather[DayOfYear] ), [Smoothed temp 7d] ), -- the highest value…
REMOVEFILTERS ( Weather[Year] ) -- …across all years
)
- Format › Y axis › Range › End (empty = auto): click the fx button, then Field value and the
Fixed scalemeasure (or drag the measure into Dynamic format and rename ityAxis.max). - Filter: the ridge heights no longer change from one decade to the next.
Don't use ALLSELECTED (): it follows slicers, so the scale would still move. REMOVEFILTERS ( Weather ) (or ALL ( Weather )) ignores every filter. Same idea for yAxis.min.
Learn more
- Getting started with Ridgeline Plume: the data to prepare and a first visual, step by step.
- Ridgeline Plume: every field and setting explained: each field well and each setting.
- Getting started with Plume visuals: installation, license, styles and settings shared by all visuals.
- The visual's page: Ridgeline Plume. A question? Support.