Micro Data-Viz
Ridgeline Morph
14 stacked rust-toned density curves continuously morph between bimodal and unimodal distributions with glowing crests; pointer Y position amplifies nearby ridges.
canvasmedium complexitymoderate motionpointer
Open on the canvas to copy the code → Free account · 3 copies a day · membership goes unlimited
Worth keeping?
Votes steer what gets built next — sign in to cast one, free to read
When to use it
Data dashboard hero backgrounds, statistical visualization demos, ambient displays with an analytical aesthetic.
When not to
Contexts needing real data — distributions are synthetic. Light backgrounds (hardcoded dark background).
Working with an AI agent
Every component ships agent-ready metadata. An example instruction for this one:
Change ROWS to 10, set accent color AC to '#80cbc4' (teal), and slow the morph cycle by changing t+=0.006 to t+=0.003. Theme: dark tokens live in :root, the light variant in :root[data-theme="light"]; ?theme=light or a {type:'forever:theme'} postMessage switches at runtime.
Safe to edit
- row count (ROWS=14)
- morph speed (t += 0.006)
- accent color (AC='#AE6147')
- ridge height multiplier (ridge=gap*3.1)
- sample resolution (SAMP=120)
- theme tokens (:root dark defaults + [data-theme=light] overrides)
Keep intact
- DPR-aware canvas sizing
- visibilitychange pause/resume
- prefers-reduced-motion guard (static single frame)
- IIFE wrapper
- theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)
Known limitations
- Background color hardcoded in CSS and canvas fill — must change both to alter theme
- No reduced-motion animation fallback beyond a single static frame
- Pointer nudge decays but never fully resets until next pointer event
More Micro Data-Viz components
- Bar Grow + ReshuffleSeven rounded gradient bars ease to new random heights every 1.6s with glowing cap dots. Click triggers an immediate reshuffle.
- Live Line SweepA glowing cyan area line chart scrolls a live sine-plus-noise time-series across a faint grid, with a white head dot marking the latest value.
- Donut Ring ProgressOlive-to-terracotta gradient donut ring eases its fill to random targets with a leading dot and large centered percentage readout. Tap to jump to a new value.
- Sparkline Moving DotA green sparkline traces itself across a faint ghost path, led by a haloed white dot; on completion it regenerates a new random 28-point series.
- Radial Gauge NeedleSemicircular gauge on dark amber background with green-yellow-red arc segments; a glowing white needle sweeps smoothly via sine wave with a live 0–100…
- Heatmap Ripple12x6 grid of rounded cells colored via a magma ramp, with a sine-wave ripple emanating from a point that orbits and follows the cursor.