You want me to build you a map? Awesome!
Oh, you have points in Alaska and Hawaii….Crap!
How many times have you started to build a map of the United States and then cringe when there are points in Alaska in Hawaii? Let the work-arounds begin! You probably have gone down this list of options before…
- Display everything in one ugly map
- Build multiple maps and frame Alaska and Hawaii with borders
- Create parameters/calculated fields to set different zoom levels
- Design a focused map, one State at a time in the view
- Remove Alaska and Hawaii completely
- Opt for another visualization like a tile map
I run into this all the time. I work for an organization with geographic locations all over the world. I not only have to deal with Alaska and Hawaii, but also Guam, Northern Mariana Islands, American Samoa, Puerto Rico, U.S. Virgin Islands, and even a little island off the coast of the Dominican Republic called Navassa Island. So you name a work-around, I promise I have tried it.
The truth is, none of the above options are good. Let’s examine them with some data on Television Broadcast Contours from the FCC.
1. Big Ugly Map – Unless you specifically care about the geography, this is hard to see or interact with. You can barely see the data in places like Guam and American Samoa. Approximately 95% of the marks are in about 5% of this map. This doesn’t work for many reasons. Next.
2. Multiple Maps – This can get annoying, especially if you are using size or color on your marks based on a measure. Sure, you can fix the values so they are consistent across the maps, but if you want to filter this can lead to a lot of invisible points since they are stuck on the global values. Oh what about when you want to have a filter action from another worksheet. How do you like the big blank map when filtered on Alaska and Hawaii. Next.
3. Parameter Zoom – This involves creating a parameter and a calculated field that will filter to certain zoom levels based on the parameter (i.e., Contiguous U.S., Alaska, Hawaii, Caribbean, etc.). This option works pretty well, but someone will ultimately ask for the ‘All’ option and then you are back to #1.
4. Focused Map using Dashboard Actions – This involves using another sheet to filter to the map. The map could be collapsable if the action is set to exclude values when clearing a selection or remain visible if set to leave values when clearing a selection. This isn’t terrible. The map will look nice and work well with other dashboard interactions, but you lose context of other locations.
5. Remove AK and HI – This really isn’t an option, but I’ve seen it done before. They are still States and are important regardless of where they are in the world. Designer Beware! Especially, if you talk to a stakeholder from that area because they will be pissed off! I promise this discussion will be worse than the one about Alaska being approximately half the size of the Contiguous United States, yet it is often displayed in a thumbnail.
6. Other Visualization/Tile Map – What we are arriving at is just because you have location data doesn’t mean a map is the best visualization for the job. However, people love maps. I can make this argument until I am blue in the face, but people still want maps. Tile maps are good at what they do, giving equal size perspective and using another dimension like color to tell the story. They are compact and avoid the inevitable Texas is really good or really bad discussion because it is so huge compared to invisible Rhode Island.
But, people still want a map…what are we to do?
Recently, I built a great dashboard for work with a really nice map, then I got the final data set with a single point in Alaska…C’mon! I had designed a nice DNA chart by State comparing two measures and you could click on that chart to filter the map by a State. I wanted to use option #2 above to just have a small thumbnail of Alaska, but I really didn’t like the look of an empty dashboard when someone clicked on Alaska and the main map disappeared.
So I decided to get creative! If you haven’t noticed yet, this a theme with me. I will find a work-around.
I really wanted the main map to just show the lower 48 States with a small Alaska frame. However, when someone clicked on the DNA chart to filter by Alaska, I wanted the Alaska thumbnail to disappear and the main map to display a larger map of Alaska.
There has been a lot of talk about floating vs. tiling dashboards recently. I have always said you need to be good at both and my desired user experience in this case requires it. The basic idea is to tile multiple worksheets in a container and then float the containers partially off the screen.
Here’s how you do it
In this example I am just going to talk through Alaska, but the published example below has both Alaska and Hawaii working if you want to download it.
Step 1 – Design your Main map and get everything they way you want it (i.e., colors, size, tooltips, etc.) so you only have to do this once. Make a copy of the State dimension and Exclude Alaska.
Step 2 – Create two copies of this map. I intelligently name these two sheets ‘AK – Big’ and ‘AK – Small’. Change the [State copy] filter on these two sheets to only Include Alaska.
Step 3 – Add a Horizontal Layout Container to your dashboard and tile the the ‘Mainland’ and ‘AK – Big’ maps in this container. Turn off the titles. This dashboard is floated, so the container itself is floating with tiled sheets within.
Step 4 – Create a new worksheet that will effectively bump the ‘AK – Small’ map on and off the screen. Guess what I called it…’BumpAK’. Setup the sheet as shown below and set the State copy filter to Exclude AK. The pill on columns is what will allow this sheet to collapse into a small space. On sheets like this, I change the mark type to polygon and Tableau has no idea what to draw. This means you have no mark and don’t have to worry about turning off tooltips.
Step 5 – Float another horizontal container on your dashboard. Tile the ‘BumpAK’ sheet and the ‘AK – Small’ map in this container. Make sure the bump sheet is set to entire view. Size this container so that you get the ‘AK-Small’ map to the size you want to display on your dashboard. Then, click the dropdown and select fixed width on the ‘AK – Small’ map. Click Edit Width and note how many pixels wide the map is (this map is 165px wide).
Step 6 – Now position the container partially off the screen. With the container selected, set the X, Y, H, & W of the container. Note the X should be negative and a little wider then the map. The width of the container should be more than double the size of the map. Here is how I set mine up.
Step 7 – Setup some dashboard actions as shown below. Both are setup using the State dimension (not the copy) when clicking from another sheet (in this case my bar chart). Take care to target the sheets as shown. The Exclude filter action uses the one source sheet and targets just the ‘AK – Big’ map. The Show filter Action uses the one source sheet and targets everything except the ‘AK – Big’ map and itself. This all works because we used copies of the State dimension on the filters we already setup.
I admit this takes a little bit of work, but I think the result is worth it. Click on either Hawaii or Alaska in the bar chart below to see how it works.