How to Make a Mosaic Plot in R
Also known as a Marimekko diagram, the mosaic plot lets you compare multiple qualitative variables at once. They can be useful, sometimes.
Mosaic plots let you compare multiple categories at once, so that you can see individual breakdowns and get a sense of overall distributions.
The plot type can handle several categories. However, you start to push it with readability beyond two. (Some might argue you’re already pushing readability with two dimensions.) Any more than that, and you should try a different chart type or a set of chart of chart types.
That said, in this tutorial, I’ll show you two ways to make readable mosaic plots in R.
To access this full tutorial and download the source code you must be a member. (If you are already a member, log in here.)
Get instant access to this tutorial and over a hundred more, plus courses, guides, and additional resources.
You'll get unlimited access to hundreds of hours worth of step-by-step visualization courses and tutorials for insight and presentation — all while supporting an independent site. Source code and data is included so that you can more easily apply what you learn in your own work.
The tutorials are very helpful to move from "Oooo, cool!" to how to actually DO the cool.
Members also recieve a weekly newsletter, The Process. Keep up-to-date on visualization tools, the rules, and the guidelines and how they all work together in practice.
See samples of everything you gain access to:
More Tutorials See All →
How to Make a Bump Chart in R, with ggplot
Visualize rankings over time instead of absolute values to focus on order instead of the magnitude of change.
How to Make Animated Line Charts in R
Sometimes it’s useful to animate the multiple lines instead of showing them all at once.
How to visualize data with cartoonish faces ala Chernoff
The goal of Chernoff faces is to show a bunch of variables at once via facial features like lips, eyes, and nose size. Most of the time there are better solutions, but the faces can be interesting to work with.