When I was asked to create a visualization of the popularity of names over time in New Zealand, my first instinct was to have some interactive graphic or GIF to represent the development over time. I wanted to avoid using the x-axis of a graph as timeas this would likely result in having a graph with a different colored line representing each name, creating a rainbow knot of data with each line competing for your attention.
I used Flourish to create the visualization above. I landed on a “Bar Chart Race” as it accomplishes two of my goals really well. First, I wanted the rank (popularity) of the names to be really clear relative to each other. Second, I wanted the development over time to emphasize when names overtook each other. The Bar Chart Race achieves both of these by ordering the names in popularity and displaying a swapping animation whenever a name overtakes another name in popularity. I also utilized the gender data of the names to color the bars differently. You are able to filter the animation by gender, meaning you can view the animation as only male names, only female names, or all names. Unfortunately, limiting the label of gender in the data to male and female is an artifact of the data from the New Zealand Government. Making this label more inclusive would be a great improvement for the data in the future. The hardest part of creating this graphic was converting the data into the proper format. To do this, I wrote a Python script that reorganized the CSV into the proper format, creating a timeseries of popularity for each name.
Thinking from a larger perspective about data visualization, this project demonstrates interactivity, simplicity, and contrasts. Interactivity is important because it allows the viewer to focus primarily on what they are interested in. My project implements this by allowing the user to scroll through and pause the animation at any specific year. I tried to keep the graphic simple with minimal text. This makes my graphic more visually appealing as well as more accessible. Finally, to distinguish between male and female names, I use two different shades of blue to draw contrast.
Wow, this is so good. I wrote this in my post but I tried to do this exact same thing but it was way over my head. Do you think you would have been able to do this without changing the code? Also, how did you assign each column at the start? That stumped me for a while and I think the format I ended up choosing didn’t set me up for success.
This is a really high-level visualization! I was also intending to make a bar chart “race” timeline graph, but I struggled around in Flourish with the dataset only to realize it needed to be reformatted for this visualization. Glad you have the Python experience to be able to make this work. This is definitely the best way to present the dataset.
This is a really great way to represent this data, and it is very easy to understand as a viewer. I opted for a similar option for my graph, but chose the line chart race instead because I liked how it better showed the overall change in popularity of baby names. It’s very cool to see your experience in Python be used to help format your dataset to create this. I found that by putting the data in an Excel sheet, I was able to create a pivot table that formatted the data in the way I needed to make the line chart race.
I used the same format and also made use of a script to modify the data format! Your chart is better than mine in that it includes a source citation as Public Data Provided by the Government of New Zealand, since I forgot to mention this in my visualization. I also agree that only having male and female as categories feels a bit limited. It is nice to show combined results, and it could be nicer if the datasets had more inclusive labels.