Move mouse across chart for year-slice values Click genre to isolate Toggle baseline modes
A stream graph is a stacked area chart where the baseline is not fixed at zero but is instead computed by a symmetric wiggle algorithm that minimises the average slope of all layer edges simultaneously. This produces the characteristic river-like silhouette: streams swell where values peak and contract where they decline, with the central axis itself oscillating to distribute visual weight symmetrically around the horizontal midpoint. The perceptual mechanism is shape and area: the viewer reads the relative thickness of each stream as its proportional magnitude at any point in time, and the organic curvature makes temporal trends more intuitively readable than the jagged edges of a zero-baseline stacked area chart. The chart is explicitly optimised for pattern detection, not precision reading — exact values require the interactive tooltip layer.
The dataset is seven music genres measured across 24 years, and the message is about long-run trends and the transition of dominance — not precise annual values. The stream graph excels precisely at this use case: a large volume of temporal categorical data where the interesting signal is the rise and fall of relative magnitudes rather than exact numbers. The symmetric wiggle baseline suppresses visual bias toward any particular layer — in a zero-baseline stacked area chart, the bottom layer always appears visually stable while upper layers appear to fluctuate wildly, an artefact of the stacking rather than the data. The wiggle baseline distributes this distortion across all layers equally. The normalised mode (percentage expand) allows proportional reading when relative share is the question.
A stacked area chart with a zero baseline would communicate the same data but introduce two artefacts: visual instability for upper layers caused by the cumulative stack (not the data), and a misleading implied absolute baseline that suggests quantities can be read against an axis — which they cannot without vertical gridlines. A line chart for each genre would allow precise reading of individual trends but makes cross-category comparison and total-volume reading impossible. The catalogue's caution is correct: small categories are visually suppressed in a stream graph. This implementation mitigates the suppression issue by providing click-to-isolate, which expands any layer to the full viewport height for isolated reading.
FT Visual Vocabulary category: Change Over Time — "Show change in value of one or more variables, here multiple categories stacked with a symmetric baseline." Tufte caution: the stream graph sacrifices readability of exact values for aesthetic engagement and pattern salience — an intentional trade. The one design decision worth knowing: layer ordering matters critically. Layers are sorted by variance (most variable in the middle, most stable at edges) — this keeps the visually dominant central layers informative while stable layers form calm borders, preventing the common failure of burying the most interesting data under stable layers at the top or bottom.