Makeover Monday, 2017 #23

Makeover Monday was live from TCOT in London this week and it was amazing to see some of the output produced in just one hour! The challenge was to redo an already great graph from FiveThirtyEight on US National Park popularity:



Thoughts on the original chart

I like the original chart – actually the whole article is really interesting and the charts engaged me throughout. The chart focussed on above shows the ranking nicely, but not the actual number of visitors over time. So we don’t know how much more popular Great Smoky Mountain has been than Rocky Mountain or Yosemite. It’s hard to follow some of the threads without interactivity – although the colour coding of some of them certainly helps. You also can’t tell which states the parks in question are located in.



I wanted the story to develop from the overall figures (a little like the opening section of the article), via a state-by-state picture, to the detailed data for specific parks. A tile map seemed like a great way to cover the state-by-state picture, but it was hard to get a sense of the numbers so I’ve included the latest recreational visitor count in each tile where applicable:



The viz is also available on Tableau Public where you get a little extra hover over functionality.


Credits and challenges

Thanks to Matt Chambers’ blog post and Brittany Fong’s template for the US tile map approach – well worth a read if you haven’t already.

There were a few challenges over and above the base tile map:

  1. Data blending limitations. I used the Makeover Monday data set exactly as is, so it contains data at a park level which is more detailed than the tile map template. Also the filtered park level data didn’t contain data for all states. A blend in Tableau is like a left outer join - you get all records from the primary data source and any records that link to it in the secondary data source. So from this perspective it seemed best to use the tile map template as the primary. But blends work best when the most detailed data set is the primary data set – I couldn’t get the cases where there were multiple parks per state to display properly; the dreaded * issue. Uh oh. Catch 22? To resolve this I cheated a bit – the parks data actually had data for each state when not filtered to a type of “National Park”. So I removed the filer and added a calculation to just SUM up recreational visitors when the type was “National Park”. Perhaps I should have found a better way to do this – e.g. ensure everything I was displaying was aggregated at state level, like MIN([State]), or just create a suitable data set outside of Tableau?
  2. Adding summary info to each tile. To achieve the summary section at the bottom of each tile I forced the value axis to stretch to a negative value, and then added a fake data point on the last year midway towards this negative value. That data point is plotted as a blank shape and given the label that I wanted. A little bit of fiddling to display a different label (with the same text) for states with no parks so that I could give these a different colour and it was job done. What frustrated me was that I couldn’t put the state abbreviation in the top left whilst having the visitor number in the bottom right. A lack of a guaranteed data point for the earliest year in each state with national parks prevented me from doing the top left label – nothing to hook a fake data point on to.
  3. Getting a different grey background for each part of the tile. I used good old reference bands here. The downside is that you get some spurious info about the reference lines when hovering for tool tips.



I felt that the viz petered out a little. If time allowed I’d like to have experimented with making each state tile act as a filter so that the reader could view the detailed park data for whichever state they wanted. Other than that some graphical content to tie in with the subject of national parks would be good. Overall though I think my makeover achieved my goals and it was a good chance to try out a US tile map … and work through some data blending challenges!