This visualization offers a compact reading of the 2025 Formula 1 season through points scored race after race.
A Formula 1 season in D3.js
Rather than focusing only on final standings, it shows how the championship evolves over time, Grand Prix by Grand Prix.
Each column is one race, each row is one driver ranked by cumulative points. Color intensity reflects points scored in each event, including Sprint formats when available.
Why a heatmap
A heatmap is well suited to Formula 1 because the championship is built on a repetitive structure (races) and a cumulative logic (points).
It helps identify patterns, disruptions, and intensity zones quickly, without reading raw numbers line by line.
Technical choices
The visualization is built with D3.js, providing full control over:
- layout,
- interactions,
- visual hierarchy,
- and editorial integration.
Data sources
The dataset is built from multiple open F1 sources:
- FastF1 – results, standings, points, race metrics
https://docs.fastf1.dev/ - jolpi.ca (Ergast mirror) – historical race structure
https://api.jolpi.ca/ergast/ - OpenF1 – supplemental metadata (drivers, teams, visuals)
https://openf1.org/