#SWDchallenge: upskill with UpSets

While our general advice in business communication is to keep your chart choices as simple and clear as possible, it’s always useful to stay aware of uncommon or specialized visualizations. You never know when you’ll have a particular need that is ideally addressed by an unusual chart type (or when you’ll have to explain how to read one to your colleagues).

One such graph innovation came up during a recent office hour (a benefit available to premium members of our SWD community)—the UpSet plot. This visual combines elements of bar charts, dot plots, and Venn diagrams to showcase relationships among items belonging to one or more of several related sets. 

Here’s an example from Jake Conway and Nils Gehlenborg, the authors of an UpSet package built for use in R, that shows the proportion of movies in a dataset that can be classified into one or more of nine distinct genres.

Focusing first on the dots themselves: that part of the UpSet plot defines, for each column, what specific intersection of possible genres is being counted in the vertical bar above it. 

  • In the first column, only Drama is lit up, so the vertical bar shows the 950 movies in the database that can ONLY be classified as dramas.

  • The fourth column, however, shows both Comedy and Drama lit, with those two marks connected by a solid black line. The bar above it, therefore, tells us that 171 movies in the dataset are classified as both Comedy and Drama. In set terminology, this is the intersection of Comedy and Drama, not the union.

  • If we keep moving rightward, eventually we find an intersection of three genres: Comedy, Drama, and Romance. Thirty-four movies fit that bill.

Imagine trying to visualize nine different genres and all the possible intersections of them in a Venn diagram, or an Euler diagram. It would be so geometrically complex that it may well be impossible. But here, we have a crisp, orderly, compact way of communicating that information.

The challenge

It’s a new year, so try a new graph! Using real-world or training data as you deem appropriate, create and share an UpSet plot of your own. In keeping with traditional SWD guidance, however, please also try to find some meaningful insight in your analysis and make that clear, with words and design choices, in your challenge submission.

As an esoteric chart type, the UpSet plot does not come standard in many business software applications, so learning how to create one is an additional aspect of this challenge.

  • The R package mentioned above can help you, as can the UpSetR Shiny app also from the same creator; other packages I’ve seen recommended include Complex UpSet and ggupset.

  • There are Python libraries for it as well (I can’t vouch for their relative plusses and minuses, but upsetplot probably does what it says on the label.)

  • With some effort, you can create one in Tableau as this video from Sean Miller demonstrates.

  • Excel will probably take even more handcrafting; I’d suggest creating three separate graphs (a connected dot plot for the switchboard-looking part, plus two bar charts), and carefully placing them together on one sheet, slide, or canvas.

  • Of course, you can always go the analog route and simply hand draw or illustrate part or all of your UpSet plot…it doesn’t matter how you make it, as long as the audience sees what you want them to see. (It’s true for professional magicians, and it’s true for data visualizers just the same.)

Submit your UpSet plot and any commentary here in the SWD community by 5pm PT on Wednesday, January 31, 2024. 

Related resources

#SWDchallenge: makeover magic

“That’s not the best graph for this data.” 

“This is confusing.”

“I’d change the colors.”

“Toss it and start over!”

Have you ever found yourself reacting with any of the preceding or similar sentiments when faced with a graph or slide? Perhaps you’ve even thought to yourself, “I could do this better!” This month, I present you with exactly this opportunity.

Before sharing the example, there is one important point I would be remiss not to mention. When we critique and makeover graphs in the wild, we typically lack insight into the context and constraints faced by the original designer. For this exercise, I release you from these considerations—in fact, I welcome you to make assumptions liberally for the purpose of your makeover (please outline those you do make in your commentary). Outside of this exercise, however, please bear this facet of data visualization critique in mind and frame your approach accordingly (for more on this and related musings, have a listen to our very first podcast episode, the art of feedback).


The challenge

The remit this month is a simple one: consider the following data visualization and how you can make it better. Specifically, you might identify clutter to eliminate, reflect on an appropriate chart type, determine a specific takeaway to highlight, and perhaps even use this data as the basis of a more robust story. Show us all the magic of a great makeover!

Download the graph and data.

Share your creation in the SWD community by September 30th at 5PM ET. If there is specific feedback or input that you would find helpful, include that detail in your commentary. Please take some time also to browse others’ submissions, and share your input via comments and datapoints over the course of the month.


Related resources

Here are a few of our related resources. If you are aware of other great ones, please share in your submission commentary.

  • Watch SWD makeovers (YouTube playlist)

  • Read SWD makeovers (many more on our blog!)

  • Recognize this example? It’s a modified version of Let’s Practice! Exercise 8.6; you’ll find a plethora of makeover examples in the practice with cole sections of the book