The Highs and Lows of Making a Data Visualisation / Sonification

A couple of months ago, I made an animated data visualisation/sonification that got a bit of interest on Twitter, LinkedIn and Reddit.

This is it:

It shows the Covid case rate in England over time, with a glowing hexagon that spins faster and gets glowier as the rate increases, with an accompanying soundtrack that increases in pitch.

When I first saw the movie after I'd rendered the animation and put the sound with it, I knew that it was a visualisation that was quite emotive, and did a good job of articulating my feelings towards increasing case rates - mostly fear.

When I put it out there, it seemed that lots of people felt the same way about it - haunting, horrifying, unsettling - which is exactly what I was hoping for when I made it.

I followed this up with another similar visualisation. This time taking the data from the countries in the G20 group, to allow comparisons between different countries. I gave the focus to the USA, partly because I thought that that was the most interesting wheel, and partly because I though it would be most likely to help me break into the US market (it didn't).

This was similarly well-received, with simlar comments as before. One person asking for the same thing for deaths, and so I made this:

What I wanted to highlight in this post though is not these visualisations, but the failures that bookended these (relatively) successful data visualisations. That in the process of making visualisations, the whole thing can seem like it's going nowhere, and there are ideas that turn out to be rubbish. But this is ok, because it's an important part of making a good thing.

The Tunnel

The thing that kicked off me trying do something like this in the first place was that I thought it would be really interesting to make a tunnel effect that sped up or slowed down, and changed colour as the case rate went up or down. Sort of like being inside the line on a line chart.

My goto tool for this sort of thing is R, and desperately tried to make something work in gganimate, but couldn't do it, so I turned to Adobe After Effects. I'd never used it before, but I've got a subscription to Adobe Creative Cloud, so figured I'd give it a go.

It was hard. But I ploughed on, and watched a load of tutorials. I've noted previously that when you have a problem with something in R, you google it, and find the answer on stackoverflow, or someone's blog. For After Effects, everyone makes a video. It's the strangest thing, but maybe an opportunity to do an R video series in the future.

Anyway, I worked out how to do what I wanted, and after many iterations, most of which no longer exist, I made this:

I was deeply unsatisfied with this. It seemed completely pointless, it wasn't interesting, it didn't convey anything different. So I had a think about what might make it better, and I figured it was missing three things: hexagons, a light sabre effect, and sound. So I set about redesigning it so that met this new design brief.

This took a long time. I started with the visuals, and eventually came up with something I was sort of happy with. Then I worked on the audio element, going for an electronic twangy sound. This was the final-ish output:

Still not what I was after though. It was too long and boring. Really, you have to skip to 2 minutes before anything happened, and this was certainly not what I was going for. I tried speeding it up, but it was just confusing and noisy.

I began to get a bit disheartened that this isn't a viable visualisation technique*. Sooz was looking over my shoulder, and asked if I could make the hexagon spin instead of be like a tunnel.

Well, this was a revelation. I figured I could definitely do this, and it would probably look really good, so I set about making it. Once I'd set all the data up, controlling rotation speed, glow intensity and colour, I rendered the animation, and the first viewing was terrifying. I could tell that this was exaclty what I was going for. I added various other bits to it - timeline, smoke, etc, and started to think about the sonification side.

I knew the kind of sound that I wanted to accompany this - a wailing, haunting sound, that would make people feel uneasy. It didn't take long to come up with it, and resulted in the original hex-spinning visualisation that's at the top of this post.

What about a map?

As I mentioned previously, I then went through the other iterations, which I was also pleased with. But my final attempt (to date) didn't turn out particularly well - I may have pushed the format too far.

One thing that we thought would be interesting would be to show the G20 country hexes on a map, so it would be possible to see how Covid moves around the world. It was actually really straightforward to do this by adding an outline map of the world, and dragging the hexes into the right position. The main problem being that each of these visualisations takes around 24 hours to render on my new but rubbish Mac.

This is what the final version looked and sounded like:

The feeling of waiting 24 hours for something to render, and then it being a bit rubbish is hard to describe, but it is what it is. All of the impact of the hexes is lost in the large space of the map. The fact that the world is 75% ocean, and large chunks of landmass in Africa don't have representation in the G20 meant that the hexes are mostly bundled together in a few small places, so all value from this way of representing the data was lost.

Final Thought

I guess my message from this is that it's rare that a good** data visualisation is perfectly formed when it's born. Don't get disheartened if it looks a bit crap to start with, keep iterating and trying different things, and remember that inspiration can come from unlikely places (thanks Sooz!). But most of all - keep going!

* Note that I still think it has potential as a visualisation technique

** Artistically-good, not Tufte-good