TOP 2000 | Let The Music Play

All songs from the TOP 2000 of 2017 according to their release years

Scroll down for information


Top 2000 | Let The Music Play


December 2017


My yearly Top 2000 visualization


R, Excel, D3.js, canvas


The top 2000 from the NPO Radio 2 website


This visualization looks at the Top 2000 best songs ever made and how they are distributed according to their year of release. Starting in the mid-50s going around the vinyl record in a clockwise circle all the way to 2017. Each song is represented by a circle and they are sized according to their position in the Top 2000. The bigger the circle, the higher its rank. Within each release year the songs are stacked from lowest to highest rank at the top, thus the height of each “stack” of circles shows how many songs from that release year are in the Top 2000. You can hover over each of the songs to see what other songs from the same artist are present in the Top 2000. Finally, the top 10 songs are highlighted with a red stroke when the viewer is not hovering over any circle. In general, by far most songs (also from the top 10) come from the 70s.


When you’re saying “music in December” to somebody from the Netherlands, there’s a very likely chance that they’ll think of the Top 2000. A yearly chosen list of songs which is played between Christmas and December 31st midnight. This is the 4th year that I’m playing with the same data. It’s sort of become an exercise to see how I can take the same data (but then updated for each year) and take the same goal (how are the songs spread according to release year) and see how I would visualize it differently.

My basic dataset was the Top 2000 list, which had the artist, title and position in the Top 2000. However, suddenly in this year’s list the release year was no longer present! I therefore used the list of last year in R to join the release year of last year’s list. Sadly not all songs and artists were written the same (such as Pink and P!nk), so I used a fuzzy matching algorithm to find about 200 more matches from last year’s list (I did manually check each fuzzy replacement, and only about 5 were wrong, which was a much better accuracy than I expected initially). For the remaining ±100 unknown and new songs I scoured the online list (which sadly wasn’t scrapabale) and manually added the release years. If things stay this way I don’t think I’ll be making another Top 2000 visual next year. I don’t want to have to add release years every year :S

For the background it was pretty clear to me from the get-go that I wanted a vinyl record. I first tried it with SVG, but eventually I found an example online of creating a so-called conic gradient in canvas, which wasn’t possible in SVG sadly. Eventually most of this chart is made in canvas :) It just makes things more performant, especially when you want to plot 2000 circles and more. The only things remaining in SVG are the texts and the red lines and circles that appear on a hover.

I didn’t want to spend too much time on this, it was more a fun and personal Christmas week project, and thankfully it “only” took me about 20 hours to make :)

The final version of the Top 2000 visualization - Let the Music Play