// HAI — AID DISBURSEMENTS · MONTHLY 2021–2024 · 48 OBSERVATIONS

Q4 Peak, Q2 Trough — The Seasonal Pattern Intensifies Year-Over-Year
Inner arm = 2021  ·  Outer arm = 2024  ·  Bars colored by month

Spiral Plot — Humanitarian Aid Disbursements 2021–2024 Archimedean spiral with 4 revolutions (one per year 2021–2024). Each revolution contains 12 radial bars (one per month). The spiral grows outward so 2021 is the innermost arm and 2024 the outermost. Bar height encodes disbursement in USD millions. Color encodes month: walnut for Jan, progressing through amber, blood-red, dim-gray, and deep forest for December. November–December bars are tallest at the top-left; April bars are shortest at the right — the seasonal pattern is visible as aligned short and tall bars across all four arms at the same angular positions.
// LEARN — SPIRAL PLOT · FT VISUAL VOCABULARY: CHANGE OVER TIME + PATTERNS ABELA QUADRANT: DATA OVER TIME (periodic)

What Makes a Spiral Plot Work — And Why Periodicity Is Invisible in a Line Chart

What this chart is

A spiral plot maps time-series data along an Archimedean spiral: a curve defined by r = a + bθ, where r is the radius from center and θ is the angle. Each period (month) occupies an equal angular increment (2π ÷ periodsPerCycle), and the spiral grows outward with each complete revolution. The perceptual mechanism is angular alignment: because each cycle occupies exactly one revolution, the same period in different cycles appears at the same angle in every arm. The viewer scans radially outward and sees whether April (right side) is always short — confirming a seasonal trough — without mentally aligning separate lines from different years.

Why it cannot be a line chart

A standard time-series line chart over 48 months shows the trend clearly — but to confirm periodicity, the viewer must mentally fold the line back on itself every 12 months and check whether peaks align. That is a non-trivial cognitive task performed entirely in working memory. The spiral performs that folding physically: the chart is already organized so that the same month in 2021, 2022, 2023, and 2024 occupies the same angular position. The periodic structure is encoded in the layout, not left as an inference task for the viewer. The cost: radial distance from center is harder to compare precisely than bar length along a common baseline. The spiral trades precise value reading for structural pattern visibility.

The Archimedean choice

The spiral used here is Archimedean (equidistant spacing between arms), not logarithmic or Fermat's. Equidistant arm spacing means each year's ring has the same radial depth — the same maximum bar height is available for every year. A logarithmic spiral would compress inner years and expand outer years, visually underweighting early data. An equidistant spiral is the honest geometric choice when all cycles contain equally important data. The implementation uses r_i = innerR + (i ÷ periodsPerCycle) × armSpacing, giving each year exactly armSpacing pixels of radial depth, regardless of absolute data magnitude.

Seasonal pattern vs. trend

The spiral simultaneously shows two temporal signals: the within-cycle seasonal pattern (which months peak, which trough) and the across-cycle trend (do bars at the same angle grow larger in each successive arm?). In this dataset, both are visible. The Q4 cluster (Oct–Dec, top-left quadrant) grows taller arm by arm — the seasonal peak intensifies. April bars (right side) also grow but remain the shortest at each arm — the seasonal trough persists. A line chart with a 12-month moving average would show the trend but flatten the seasonality. A seasonal decomposition chart would separate both signals but destroy their geometric relationship.

// FRAMEWORK REFERENCE

The seminal papers on spiral plots — Carlis & Konstan (1998) and Weber, Alexa & Müller (2001) — both identify the core trade-off: the spiral excels at revealing periodic structure and is weaker at supporting precise value extraction. The FT Visual Vocabulary classifies this under Change over time with a note on pattern detection. Tufte's principle of small multiples is adjacent: a 4-panel year-over-year small multiple would offer better precision but destroy the angular alignment that makes the periodic pattern immediately visible. The spiral is the minimum-redundancy solution for showing periodicity in data that exceeds two or three cycles — the angular alignment conveys the pattern in one view that a small multiple requires four to establish.

// The one design decision worth knowing

January is placed at 12 o'clock (angle = 0 in d3.arc() convention), and the spiral proceeds clockwise. This aligns the calendar cycle with the viewer's intuitive reading of a clock face — January at top, April at right, July at bottom, October at left. An arbitrary starting angle (common in academic implementations) produces a correct chart that no one can read without a legend. Placing January at 12 o'clock costs nothing mathematically (theta = (i / periodsPerCycle) × 2π, with d3.arc's native 0-at-top convention) and produces a chart where a viewer immediately knows that the tall cluster of bars in the upper-left is Q4 (Oct–Nov–Dec) without reading a single label. The calendar anchor turns the chart from a pattern detector into a legible, self-orienting instrument.