The right way to implement a bump chart

I am a great fan of bump charts. They show changes in rank very effectively. Two bump charts caught my attention this week; they teach us an interesting lesson on how to implement them. The first was based on the history of the Oxford Bumps and bought to my attention by a post on  Infosthetics. (click the image to go to the original)

The second was caught from a tweet by Andy Kirk


Both visualise really interesting data. But one is vastly more successful than the other. The Oxford Bumps chart is far too cluttered and difficult to read. The premiership chart is less cluttered and thu easier to read. Bump charts are, by their nature, like spaghetti and the appropriate reduction of clutter is vital. One way to solve this is to use well implemented highlighting. This is here where the Premiership bump succeeds and, unfortunately, the Oxford chart does not. Here are screen grabs of both bump charts with one item selected (St Edmund’s College on the left, Newcastle United on the right)


The problem should be very clear. The highlighting on the Oxford chart does not create enough contrast: it is very hard to see the yellow highlighted chart against the background. Newcastle United, on the other hand, is clear as day – the background is faded out.

The Oxford bump chart could be easily improved by reducing the noise in the chart. If the highlight is done in conjunction with fading out the background, a bump chart is much easier to read.

What do you think? Feel free to comment below.

Analysing click counts from using Python and Tableau

I use for link shortening. I also do monthly round ups of who’s been blogging about Tableau (for example here are February, March, April). I want to know how many clicks each link receives. Well – there’s an API for that. And with Tableau v8, there’s a way of going from API to TDE very easily, I wanted to learn how to use Python and the API code and this was the project for me! Here’s the results of the analysis; click the image for the interactive version.


Bitly links analysed

How did I do this, and how can you do this for yourself?

Learn python

Fortunately I’ve been writing code of some sort for years, but I did need to learn python kind-of-properly for this. I’ve uploaded the code to github – feel free to improve it or change it

Learn the data engine API

This was a breeze. I used two references. Ryan Robitaille’s early exploration blog was useful and then Michael Kovner’s how-to video gave me the rest of knowledge I needed.

Analyse in Tableau

The results are in the Tableau viz above.


I’m grateful to Ryan, Michael and my friend Ben Foxall for help in this endeavour. It’s been really useful to learn the process of coding to get a TDE file.

Hello world.

Following on from my first post about Stephen Few’s bricks, I guess I can now say hello to you all. I’m a data viz guy, who works for Tableau. I’ve been blogging, speaking and tweeting about the topic for years but my content’s distributed in many places, so I’ve created to collect it all together.


My speaking page lists all the conferences and webinars I’ve done. There are links to slides/videos/descriptions where available. I’ll add new ones as they happen!


Most of my early blogging was for The Data Studio (now Interworks). I’ve imported all of that stuff here so it’s all in one place. Feel free to go back and review some of my content. I recommend the series of posts about tooltips as a great starting point. 

I also have a regular column with the Huffington Post. Check out my home page on the Huffington Post for a list of columns.


I’m not going to try and collect this stuff together – go to @acotgreave on and follow me to get all my thoughts.