Sports Leagues Data Science Visuals in HTML

Interactive charts and maps built from scraped sports data, across the NBA, NFL, MLB and NHL.


Bar chart races are one of the few useful animated chart types. A ranking that changes over time is the thing they show and a static chart can only imply.

This one tracks salary lost to injury by NBA team across the 2015–21 seasons — the same window I modeled ACL tears over in my STA 141B project.

Salary lost to injury by NBA team, 2015–21. Built in Flourish; press play.

Team Valuations, by League

These are Folium maps — Leaflet underneath — plotting every franchise in a league at its home city, scaled and labelled by valuation. A map is the right shape for this because the story is partly geographic: the money clusters in a handful of metros, and a bar chart hides that.

Pick a league. Each map pans and zooms, and every marker opens a popup.

Team valuations by league. Scroll to zoom, drag to pan, click a marker for the team.

The Dataset

Everything above sits on one table I have been assembling and re-merging for years: 817,583 rows across 75 columns, one row per player per game, with box score, injury report, and biographical fields joined together. It runs through the 2025 season.

It is 283 MB uncompressed and 33 MB zipped, which is more than this site should be serving on every visit — so it goes out by request rather than by download. Ask, and I will send it.

Comprehensive NBA Injury Dataset through 2025

817,583 rows · 75 columns · one row per player per game, through 2025. Merged from box scores, injury reports, and player biographical data. CSV, 33 MB zipped.

More to come.