Music Genre Dominance — Streaming Volume 2000–2023
Music Genre Dominance , Streaming Volume 2000, 2023 Figure 69.1 , Music Genre Dominance 2000, 2023
A stream graph is a stacked area chart where the baseline is not fixed at zero but is instead computed by a symmetric wi
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 dataset is seven music genres measured across 24 years, and the message is about long-run trends and the transition
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.
A stacked area chart with a zero baseline would communicate the same data but introduce two artefacts: visual instabilit
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.
FRAMEWORK FT Visual Vocabulary category: Change Over Time — "Show change in value of one or more variables, here multipl
FRAMEWORK 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.
Paste this into Claude Code to generate a working version of this chart, plus its data file. The result will not be a perfect replica , the goal is that the reader can run the prompt, get a chart of this type, and read its source. Generate a complete, self-contained stream graph in D3 v7. Two files:
The ideas in this chapter didn't appear from nowhere. Joseph Fourier proved in 1822 that any periodic function could be decomposed into a sum of stacked sinusoids , and that the sum, drawn on paper as overlapping waveforms, was a more legible record of the underlying components than the raw signal. Strip away the trigonometry and you have the stream-graph: many categorical waveforms stacked, the total flowing through a baseline-free curve, the structure visible only after the decomposition is plotted. Joseph Fourier, circa 1820.
Joseph Fourier, circa 1820. AI-generated portrait based on a public domain engraving (Wikimedia Commons).
The ideas in this chapter didn't appear from nowhere. Joseph Fourier proved in 1822 that any periodic function could be decomposed into a sum of stacked sinusoids , and that the sum, drawn on paper as overlapping waveforms, was a more legible record of the underlying components than the raw signal. Strip away the trigonometry and you have the stream-graph: many categorical waveforms stacked, the total flowing through a baseline-free curve, the structure visible only after the decomposition is plotted. Joseph Fourier, circa 1820.
Brutalist D3 × Claude · Ch.69 · Stream Graph
That is the framework. Brutalist D3 times Claude, chapter 69: Stream Graph. The patterns are now in place. Apply them.