Figure Friday 2025-w44

Billboard Hot 100

Idee & aanpak

De aangeleverde dataset bestaat uit alle songs die sinds 1958 op nummer 1 in de Billboard Hot 100 hebben gestaan.
Bij elke song krijg je karakteristieken zoals de artiest, de algemene waardering, instrumenten en het aantal weken op nummer 1.

Mijn interesse binnen de dataset ging met name uit naar karakteristieken als “happiness”, “danceability”, “energy” en “length”. Ik besloot ze tegen elkaar uit te zetten in een scatterplot. De markers (dots) geven aan de gemiddelde waarde voor een karakteristiek in een bepaald jaar.

De scatterplot kun je zien als de visual die vragen oproept, wat antwoorden geeft (zie afbeelding Length vs Overall Rating):

  • De lengte van de nummer 1 hits heeft door de jaren heen een ontwikkeling van kort (logisch LP’s, ca. 40 a 50 minuten muziek) naar heel lang, naar weer wat korter gemaakt.
  • De scatterplot suggereert dat nummers in de loop van de tijd steeds langer op nummer 1 blijven staan. De grote van de marker is afhankelijk van het aantal liedjes waarop het gemiddelde voor dat jaar is berekend, vergelijk de grootte van de gele markers met de paarse markers.

Je kunt de scatterplots kunnen gebruiken om te beslissen of daar interessante vragen uitkomen om verder te onderzoeken.

Resultaat

Vanwege tijdgebrek heb ik na het maken van de eerste scatterplot om het idee te testen als in “is dit interessant genoeg om uit te werken”, gebruik gemaakt van Claude Opus 4 (via openrouter.ai) om de rest van de app in elkaar te zetten. Het leek me leuk om na het klikken op een marker wat informatie over dat specifieke jaar te zien. Die informatie staat in de rechterkolom.

Demo

Py.cafe: demo

Community link: link

Voorbeeld bevat

  • Twee van elkaar afhankelijke selectielijsten
  • Update van cards en grid (ag-grid) als je in de scatterplot op een marker (die stip) klikt.

Figure Friday is een initiatief van de Dash/Plotly community waarbij je elke vrijdag een dataset krijgt en mensen een visual of kleine app maken, waarbij ze inzichten uit de dataset proberen te krijgen. De vrijdag daarop om 18:00, is er een zoomsessie waarbij sommigen uitleggen waarom ze gemaakt hebben wat ze tonen. In de thread op de communitysite wordt ook de code gedeeld, om van elkaar te leren en als het kan een demo.