When Tableau announced that for version 7 filled maps weren’t just polygons but their own mark type which could be used in, for example, scatter plots or bar charts (see filled maps in Tableau v7) my first thought was to create a map where each country is sized based on a measure. In fact at today’s v7 launch event in London somebody asked for just that, a distorted map based on some attribute.
What’s a little annoying is the filled map mark type looks like it can do such a function by the presence of the ‘size’ shelf however currently (maybe this will change with the next release) putting a measure on size just adds a sized label.
This doesn’t sit well for me especially when we can use filled map mark types in a scatter plot and add a background map to the scatter plot.
Having added my custom map background to a scatter and positioned my marks based on the X & Y axis of the map there was one more hurdle to jump, the scale of the countries. What Tableau does when you use a filled map mark type is normalise the shape so that every country fits in to the same size box. In other words Ireland covers the same length and width as France even though their relative sizes are very different. This makes sense when using a scatter plot as you want the data to size the shape not the country itself. In this case however I needed a ‘zero’ point to be approximately the same size as the actual country.
By adding a ‘scale’ value to each country in the dataset and dividing the data value by it, in this case the number of Facebook users in each country, we get something close to what I set out to achieve. If somebody can come up with an improved method then please get in touch!