Small Multiple Flows live up to their name, combining small multiples and flow elements in a single viz. This allows us to combine a set of events, providing an intense data visualization about these events, while also connecting one event to the next via the flow element. This technique does need a viewer to invest some time into understanding the various pieces of the visual. There is a lot going on, thus it will definitely require effort and a little time on the viewer’s part (and why I put detailed legends on both visualizations).
I have included two Small Multiple Flow visualizations, built in Tableau, as part of this write up. Both are decently complex in terms of Tableau hacking as a result of leveraging the layering technique I previously posted about. The basic premise of layering remains the same, we make copies of our data and use each of them to use and then re-use an axis as many times as we need. Then we leverage sorting of the layer element to push backward/forward the visualization marks as we see fit (this is our pseudo z-index in Tableau). To get into the nitty gritty of these, please feel free to download and reverse engineer the workbooks from Tableau Public. Herein I will provide some high level information around my approach and how I built (and layered) these two visualizations.
Viz 1: 2018 PGA Match Play
Why a Small Multiple Flow?
We are able to visualize the hole by hole results for every match across the entire tournament, that is over 1.9k holes aggregated from more than 13k golf shots! Also we are able to use the combination of small multiple and flows together to follow a player throughout the tournament and see how they progress, how much, or little they won or lost their matches by and how far they ultimately went in the tournament. I did need to add some interactivity and highlighting to the viz in order to make following a golfer through the tournament a bit easier on the viewer.
The main element of this visualization is ultimately built on a single sheet in Tableau, it is made up of three layers within the sheet.
- The first layer is the hole by hole result small multiple, with circles sized based on the player’s match status after each hole.
- The second layer is the flow element that connects a players results from one match to the next. Here we are able to use color encoding to signify which player won the match and which didn’t.
- The third layer is the labels on the left which allow the user to find (and highlight) a specific golfer throughout the tournament.
Just like in the layering post, these are separated by the field “Copy” as shown in the pic above. Then for the dimension level and x/y coordinates we manage each layer separately with IF statements.
Viz 2: 2018 NBA Playoffs
I did reach out to Adam McCann for design thoughts and feedback along the way on this one; thus wanted to say thanks to him for his time and thoughtful (and always helpful) feedback.
Why a Small Multiple Flow?
We are able to visualize every scoring play from every game of the NBA playoffs, as of this writing, that is over 8.7k plays across 85 games of basketball! As with the first example above, we are again able to use the combination of small multiple and flows together to follow a single team throughout the playoffs. We can see how the team won or lost their games (e.g., close game or blowout), how many games did the series take, whether they moved onto the next round and ultimately whether they won the title.
As with the above, the main viz is built on a single sheet, using layering. This time we have 5 copies of the data as follows:
- The first layer is the scoring plays from all of the games in the playoffs.
- Second is the flow element from one series to the next. This is color encoded to help the reader see who moved onto the next round.
- Third is the circle background for each game, encoding how many games the team had won.
- Fourth is the team legends to help follow a team through the viz.
- Fifth is the flow from the legend on the left to the first round of games, this took a few tricks so needed its own layer. It is also color encoded to connect the legend to the first round.
Just like above, these are separated by the field “copy” as shown in the pic above. Then for the dimension level and x/y coordinates we manage each layer separately with IF statements.
I do want to note that there are some other examples of Small Multiple Flows out there, here is one (amazing!) example that Adam pointed me to which was created by Giorgia Lupi. I hope you find some good use cases for this approach, if you do please share them as well.