ggplot2 via formulas and pipes

ggformula introduces a family of graphics functions, gf_point(), gf_density(), and so on, bringing the formula interface to ggplot(). This captures and extends the excellent simplicity of the lattice-graphics’ formula interface, while providing the intuitive “add this component” capabilities of ggplot2 using maggrittr pipes.


You can install from CRAN with


or from github with:

Using ggformula

The following example illustrates a typical plot constructed with ggformula.

gf_jitter(Sepal.Length ~ Sepal.Width, data = iris, color = ~ Species,
          width = 0.05, height = 0.05, alpha = 0.6, seed = 123) %>%
  gf_density2d(alpha = 0.3) %>%
  gf_labs(title = "A famous data set",
          caption = "Data available in datasets package",
          ylab = "sepal length",
          xlab = "sepal width"
  ) %>%
  gf_theme(theme_bw()) %>%
  gf_theme(text = element_text(colour = "navy", face = "italic"))


Interactive tutorials demonstrating the package functionality can be run with

learnr::run_tutorial("introduction", package = "ggformula")
learnr::run_tutorial("refining", package = "ggformula")

Package Vignette

The package vignette is available at