Fuzzy temperature bands

Is 22°C mild? Kind of. It's also a little warm and a little cool, and making it pick one box throws that away. Fuzzy sets don't make it pick: there are five overlapping triangles along the temperature axis, and a day belongs to each one exactly as much as that triangle is tall at its temperature.

Data: 1816 days of daily max temperatures from Melbourne Airport (GHCN-D 2021-04-14 → 2026-04-03).

cold · peak 10.0°C cool · peak 17.0°C mild · peak 24.0°C warm · peak 31.0°C hot · peak 38.0°C
membership functions · drag sliders to reshape
cold cool mild warm hot 0° 6° 12° 18° 24° 30° 36° 42° 48°
fuzzy memberships over time · hover for breakdown
2022 2023 2024 2025 2026 0% 25% 50% 75% 100% cool mild

Top strip: the five triangular membership functions on the temperature axis. Drag the sliders to reshape them. Bottom: for every day in the dataset, the bands show how much that day belongs to each set. Memberships are normalized so every column fills the full height; hover for the exact breakdown.

Triangular membership functions evaluated per day over four years of GHCN-D Melbourne maxima, rendered as server-side SVG. Dragging a slider recomputes every column in Elixir and diffs the result over the wire. -> membership.ex

source fugue