❌ Venn diagram? You can do better!




👋 Hi!

Today, let's talk about Venn diagrams and more importantly, what to use instead!

But before we dive in, a quick heads-up. Less than 48 hours remain to join my Matplotlib Journey project! 🚀



If you want to get better at data visualization, there’s only one way: practice. And that’s exactly what this course is about.

You'll tackle dozens of exercises and work with real-life datasets at the end of each module to apply what you’ve learned.

Here’s just a glimpse of the plots shared by students in the Discord channel to get feedback on both code and design!


Ok, back on the main topic 🙈

What is a Venn diagram?

A Venn diagram visualizes relationships between sets using overlapping circles to show shared and unique elements.

It typically looks like this:

Venn diagrams work well for 2 or 3 groups! But beyond that, they become unreadable.

The issue is combinatorial explosion: the number of combinations grows way too fast.

With more than three groups, the diagram quickly becomes a cluttered mess, making it impossible to extract meaningful insights:

A better option: Upset Plot

The UpSet Plot is a powerful alternative that scales well with many groups.

It has a bar chart at the top that shows the size of each group combination. Then the X-axis grid indicates which groups contribute to each bar.

It's much clearer than a cluttered Venn diagram! Take a moment to study the figure:

Origin & Implementation

The UpSet plot was introduced in 2014 and quickly gained traction.

You can build it using one of those tools:

  • In R, use the {upsetR} package to build one. I even wrote an example in the R Graph Gallery.
  • In Python, there’s the UpSetPlot package (though I haven’t used it personally).
  • In JavaScript, you can use upsetjs.


~~~

And that's it for today!

I hope you discovered a new chart type and more importantly, that you'll get to use it someday! ☺️

Before I go, here’s one of the latest testimonials for Matplotlib Journey I got. I hope it can motivate you to join the course in the remaining 48h!

All the best,

Yan

PS: Not happy with the course? I’ll refund you right away, no questions asked!

PPS: A lot of people have asked if the course is suitable for beginners. The answer is yes!

Yan Holtz

Find me on X, LinkedIn, or check my Homepage

👋 By the way, here is how I can help!

  • Master R: Join my productive R workflow online course, already helping hundreds to excel in R, Quarto, and GitHub.
  • Team Training: Hire me to train your team on Data Visualization and Programming.
  • Engaging Talks: Book me for short, impactful talks on Data Visualization and Programming.

Check yan-holtz.com or hit reply any time! I love hearing from you.

https://preview.convertkit-mail2.com/unsubscribe
Unsubscribe · Preferences

background

Subscribe to Dataviz Universe