Build interactive Beatles visuals#
This page shows how to generate interactive charts from the Beatles dataset:
1) Download the data#
Download the Kaggle CSV and place it at:
projects/beatles-discography/data/beatles_spotify_dataset.csv
If Kaggle CLI is configured:
kaggle datasets download -d jarredpriester/the-beatles-spotify-dataset -p projects/beatles-discography/data --unzip
2) Generate the visual outputs#
Run from repository root:
python3 projects/beatles-discography/beatles_visuals.py
This script will create:
projects/beatles-discography/outputs/writer_popularity_by_writer.htmlprojects/beatles-discography/outputs/sunburst_discography_by_album.htmlprojects/beatles-discography/outputs/sunburst_discography_by_writer.html
3) What each visual shows#
Writer popularity by writer / writers#
Aggregates songs by writer (splits collaborations like “Lennon and McCartney”)
Computes average popularity score for each writer
Colors bars by number of unique songs
This answers: Which writers are associated with higher-popularity songs?
Sunburst: full discography by album#
Hierarchy: Album -> Song
Segment size and color reflect popularity score
Useful for album-level comparisons and hit concentration
Sunburst: full discography by writer#
Hierarchy: Writer -> Album -> Song
Highlights how writing contributions are spread across albums
Makes collaborations and writer dominance visually obvious
Implementation notes#
The script supports common schema variants:
Song columns:
song,title,track_name,nameWriter columns:
writer,writers,songwriter,songwritersPopularity columns:
popularity,track_popularity,top.50.billboard, etc.
If writer fields are missing, it attempts an enrichment join using a public Beatles songwriter reference dataset keyed by song title.