Export Image
Export Code

Final Project: Spotify Top 10000 Streamed Songs

flanagancarlie

Last edited Apr 27, 2023
Created on Apr 13, 2023

CS 573 Data Visualization Final Project

YouTube Presenation

Data

The data I have visualized for my final project is the Spotify Top 10000 Streamed Songs dataset on Kaggle.

Sketches

image This is my initial sketch, sketch plotting the peak position of each artist vs. the number of times the artist has had a song in the top 10,000. This data is visualized as a scatterplot. For action items, I imagine the user being able to adjust the y-axis via dropdown. The default will be peak position, but I think it will also be valuable to view other attributes, including peak streams and total strems. The x-axis may also be changed to narrow down the range, for example shortening the view from artists with songs in the top 10,000 to artists with songs in the top 1000, 100, etc, or songs with rank 1.

I also imagine that each point on the scatterplot will have a tooltip on hover or click, which will show the artist(s) as well as the x and y values. For example, when the scatterplot is of peak position vs. frequency of songs in the top 10k, hovering over a point would show an artist, their peak position, which songs are in the peak position, and their count of songs in the top 10k.

Prototypes

I’ve created a proof of concept visualization of this data. It's a scatterplot that utilizes a logarithmic scale and it shows the peak position of each artist vs. the number of times the artist has had a song in the top 10,000.

image

Questions & Tasks

The following tasks and questions drove the visualization and interaction decisions for this project:

  • Is there a correlation between the quantity of songs each artist has in the top 10,000 and their peak position? What about the quantity of streams?
  • Which artists/songs have reached #1?
  • What is the total number of streams (total or peak) for each artist?
  • Which artist has reached position #1 most often?
  • What are the top positions of each artist?
  • How does peak position correspond to peak or total streams?

Milestones & Prototype Iterations

  • Week 7 - Added color, aimed to remove the white space present in initial prototype. image

  • Weeks 8, 9 - Added interactive dropdowns: one for x-axis to narrow down the scale, and one for y-axis to change the attribute being plotted. image

  • Week 10 - Implemented tooltips and interactions on hover to view artist data in detail. image image

  • Week 11 - Created a scatterplot that uses small multiples, displaying streaming data for each of the top 10 artists' songs. image

  • Week 12 - Created a bar chart to compare the top 10 artists by streams. image

Future Work

Some other ideas for this dataset included the following:

  • Add a comparison view of View 3, allowing the user to compare two artists' songs side-by-side.
  • A bar chart of the most frequent words/phrases in song titles. image
  • A pie chart of the most common languages of song/artist names. image
  • Bar chart comparison of total vs peak streams for each artist/song, including what percentage of streams were peak streams. image

Acknowledgements

I would like to thank Professor Curran Kelleher for developing VizHub, where each of these visuals is hosted, as well as teaching an incredibly engaging and educational course. I am also grateful to my fellow students with whom I have had the pleasure to work during this course.

My final visualization utilizes a multi-view layout inspired by Eri Kim's MoMA Artworks, and simple tooltips on hover inspired by Ming Liu's Greater Boston Map.

MIT Licensed