I’ve been looking to do this sort of visualisation with map data for a while; to show links between countries and to have the chunkiness of the lines correspond to particular amounts. I am still very, very new to Tableau but thought their tutorials may be a great place to start. The Advanced Mapping Techniques tutorial had exactly what I wanted, though bizarrely their training workbooks below the video don’t contain that specific example. However, by scrolling through the video and working it out myself – thank GOODNESS there was a shot of the data behind the scenes around the 1 minute mark – I managed to put together my own version, and it works! Woo hoo!
So, how did I get there? Here’s how to do it step-by-step:
1. Create a spreadsheet with the following data (you can copy & paste mine from below).
IMPORTANT – each line is a one-way path but in order for it work, there must also be a return path. For example, the data in the first row goes from the UK to US, but there also needs to be a return line back from the US to the UK (row 4). If you don’t do this, all the points in the first three rows will show in the UK unless they have return points – which is a bit pointless (fnarr!)
Country | Path | Total |
UK | UK-US | 200 |
UK | UK-Brazil | 450 |
UK | UK-China | 700 |
US | UK-US | 200 |
Brazil | UK-Brazil | 450 |
China | UK-China | 700 |
2. Create your workbook in Tableau and import your data (I connect live so I can tweak my data behind the scenes).
3. Tableau will automatically generate the Longitude and Latitude for you, but make sure you spell the country names correctly! Then set-up the following dimensions:
Columns: Longitude
Rows: Latitude
Color: Path
Size: SUM(Total)
Here’s a screenshot to help! Oh and make sure it’s set to a “Line” graph.
Hooray you now have your map set-up!
You can now do funky things like creating (sort of) arrows instead of fat lines by altering the data like this…
Country | Path | Total |
UK | UK-US | 200 |
UK | UK-Brazil | 450 |
UK | UK-China | 700 |
US | UK-US | |
Brazil | UK-Brazil | |
China | UK-China |
This means the line width starts from nothing at the point of origin and grows as it reaches its destination. Your map should now look like this:
See, that was fairly painless, though I still want to continue having a play around with it, I’m sure there is a lot more you can do. I’d like to find a definitive list of country names that can be used in Tableau, can initials work too I wonder? Who knows, that’s for another time…