This document is intended to help users of the mosaic package migrate their lattice package graphics to ggformula. The mosaic package provides a simplified and systematic introduction to the core functionality related to descriptive statistics, visualization, modeling, and simulation-based inference required in first and second courses in statistics. Originally, the mosaic package used lattice graphics but now support is also available for the improved ggformula system. Going forward, ggformula will be the preferred graphics package for Project MOSAIC.


Histograms (lattice)

Histogram options (lattice)

histogram(~ age, width = 5, data = HELPrct)

Density Plots

Density plots (ggformula)

Overlaid density plots (ggformula)

Density over histograms (ggformula)

We can use stacked layers to add a density curve based on a maximum likelihood fit or a kernel density estimate (see also gf_dist())

Density over histograms (lattice)

mosaic makes it easy to add a fitted distribution to a histogram.

Side by side box plots

Side by side box plots (ggformula)

Faceted side by side box plots (ggformula)

Side by side plots (lattice)

Faceted side by side plots (lattice)

Want to explore more?

Within RStudio, after loading the mosaic package, try running the command mplot(ds) where ds is a dataframe. This will open up an interactive visualizer that will output the code to generate the figure (using lattice, ggplot2, or ggformula) when you click on Show Expression.


More information about ggformula can be found at https://projectmosaic/

More information regarding Project MOSAIC (Kaplan, Pruim, and Horton) can be found at Further information regarding the mosaic package can be found at and

Examples of how to bring multidimensional graphics into day one of an introductory statistics course can be found at