# Stream Plume: 10 how-to recipes to read a composition

> Step by step: 100% shares, total of each stream, fixed order, small multiples, biggest risers, Top N, reference period, events, navigator, playback.

- Language: English
- Web page: https://plumevisuals.com/en/tutorials/stream-plume-cas-pratiques
- Published: 2026-10-21
- Visual: Stream Plume, technical reference: https://plumevisuals.com/ai/visuals/stream-graph.md
- If an option name in this tutorial differs from the technical reference, the reference is right (it is generated from the visual's code).

These recipes start from a Stream Plume already in place. If you do not have one, begin with the [getting started guide](/en/tutorials/stream-plume-prise-en-main): the examples reuse its data (`Sales`, `Revenue` measure, streams by `Channel`). Features marked ★ are premium: they work without a license, with a watermark.

## How do I show shares rather than amounts?

You want to see whether Web gains ground, whatever the level of sales.

1. **Format › Streams › Layout** = *100% (shares of the total)*.
2. Optional, ★: **Format › Stream labels › Content** = *Name and share of the total ★* (each stream's share over the whole period, written inside it).

Result: each date adds up to 100%, a Y axis from 0% to 100% appears and the tooltip gives the share of the hovered stream at that date.

## How do I show the total of each stream in the chart?

You want each channel's revenue over the whole period, with no table next to it.

1. **Format › Stream labels › Content** = *Name and total*.
2. For thousands: **Format › Stream labels › Numbers › Display units** = *Thousands*, **Suffix** = ` k` if your measure has no currency format.

Result: "Web $4,812K" written in the Web stream, where it is thickest. A stream too thin for its text stays unlabeled.

## How do I force the order of the streams?

Your management always wants Stores at the bottom and Web right above.

1. **Format › Streams › Stream order** = *Custom order*.
2. **Bottom-to-top order (names separated by ;)**: `Stores; Web`.

Result: the listed channels are placed first, bottom to top; the others follow, largest in the middle. Case and accents are ignored. With an unknown name, a warning shows in edit mode.

## How do I compare several regions with the same scale?

A `Sales` table with a `Region` column.

1. Drop `Region` into **Small multiples**.
2. Keep **Format › Small multiples › Stream scale** = *Shared by all panels* (free).
3. **Format › Small multiples › Total in the title** = on.

Result: one panel per region, with the same number of pixels for $100,000 everywhere; the smallest region really looks smaller. The *Independent per panel* ★ scale fills each panel, useful when regions are not the same size.

## How do I bring out the channels that grow the most? ★

You want the chart to point out the winners by itself.

1. **Format › Data colors › Coloring** = *Highlight streams* ★.
2. **Highlighted streams** = *Biggest risers*, **Number of streams** = `2`.

Result: the two channels whose value grew the most between the first and the last point keep their color, the others turn gray. *Biggest fallers* does the opposite; *Named streams* highlights the channels of **Stream names** (`Web; Export`).

## How do I avoid an unreadable chart with 30 categories? ★

1. **Format › Streams › Top N and "Others"** ★: turn **Show** on, **N** = `6`.
2. Optional: **"Others" label** = `Other products`, **"Others" color**.

Result: the 6 largest streams over the period, plus an "Others" stream at the top of the stack. Clicking "Others" selects every category it groups.

## How do I compare each channel to 2019? ★

1. Open the **Analytics** pane (the magnifying glass icon next to the Format pane).
2. **Reference period** ★: turn **Show** on, **Start** = `2019`, leave **End** empty.
3. **Format › Stream labels › Content** = *Name and change vs. the reference period* ★.

Result: 2019 is shaded; each label gives the change between the last value and the 2019 average ("Web ▲ +137%") and the tooltip adds "Change vs. the reference". A period over several months is written **Start** = `2020-01`, **End** = `2020-06`.

## How do I annotate the time axis and a stream? ★

1. **Format › Annotations ★** (this card replaces the former "Events" of the Analytics pane) › **Annotations (one per line)**:
   ```
   2020-03-17 | Lockdown
   2021-06..2021-08 | Summer 2021 | #2E7D4F
   2023-09 | Web | Marketplaces open
   ```
   The first line puts a vertical marker, the second shades a period, the third (`x | stream | text`) pins the note to the Web layer.
2. Or a text measure in the **Annotations (text) ★** field, for example:
   ```dax
   Event = IF ( MAX ( Sales[Month] ) = DATE ( 2023, 9, 1 ), "Marketplaces" )
   ```
3. In edit mode, drag a note to move it, double-click to edit it, × to delete it.

Result: a dashed line and its label for each date, a shaded area for each period, a bubble linked to the stream for pinned notes. An unreadable line or one outside the axis is reported in edit mode.

## How do I zoom into a period without filtering the report? ★

1. **Format › Navigator** ★: turn **Show** on.
2. To open on the last two years: **Window start when opened** = `2024-01`.

Result: a mini chart of the whole period under the streams; drag the window, pull its edges, or turn the wheel on the chart. Double-click the navigator to see everything again. The rest of the report is not filtered.

## How do I replay the story, date after date? ★

1. **Format › Playback ★**: turn **Play bar** on, then set **Duration of a frame (ms)** (one frame = one date; `300` for a fast replay).
2. Optional: **Play automatically on opening**, **Loop**; ★: turn **Ranking at the cursor date ★** on, **Streams in the ranking** = `5`.
3. Click ▶ in the play bar.

Result: a cursor travels through time and what comes next stays veiled; with the ★ ranking, a box gives the top 5 streams at the cursor date (value and share). The bar is the one of every Plume visual: graduated slider, start and end, speed ×0.5 to ×4, Space and arrows on the keyboard. Autoplay never starts when Windows asks to reduce motion, nor on a dashboard tile. Without a key, playback works with the "Premium preview" watermark.

## How do I keep the same scale when filtering?

With stacked areas (**Streams › Layout** = *Stacked areas (from zero)*), a slicer on the channel makes the Y axis refit. Pin its maximum with a measure that ignores this filter.

1. Create the measure:

```dax
Axis max =
CALCULATE (
    MAXX ( VALUES ( Sales[Month] ), [Revenue] ),  -- the highest month (all streams stacked)…
    REMOVEFILTERS ( Sales[Channel] )              -- …all channels
)
```

2. Drag it into **Dynamic format**, then rename it for this visual `yAxis.max`.
3. Pick a channel in the slicer: the axis no longer moves, the remaining stream shrinks.

Don't use `ALLSELECTED ()`: it follows slicers, so the scale would still move. `REMOVEFILTERS ( Sales )` (or `ALL ( Sales )`) ignores every filter.

## Going further

- [Getting started with Stream Plume](/en/tutorials/stream-plume-prise-en-main): the data to prepare and a first visual step by step.
- [Stream Plume fields and settings](/en/tutorials/stream-plume-champs-et-reglages): every field well and every setting.
- [Getting started with Plume visuals](/en/tutorials/bien-demarrer-visuels-plume): installation, license, styles and common settings.
- The visual's page: [Stream Plume](/en/visuals/stream-graph). A question: [support](/en/support).
