Gribouille - Grammar of Graphics

Gribouille (French for scribble) is a new Typst package that brings Wilkinson’s grammar of graphics natively into Typst, in the spirit of ggplot2 and plotnine .

Gribouille uses cetz as backend.

The first version was released the 20th of May 2026.

Repository: GitHub - mcanouil/gribouille: Create elegant graphics with the Grammar of Graphics for Typst. · GitHub
Documentation: Gribouille

#import "@preview/gribouille:0.3.0": *

#set page(width: 16cm, height: 10cm, margin: 0cm)

#plot(
  data: penguins,
  mapping: aes(
    x: "flipper-len",
    y: "body-mass",
    colour: "species",
    fill: "species",
  ),
  layers: (
    geom-point(size: 2pt, alpha: 0.65),
    geom-smooth(method: "lm", alpha: 0.2),
  ),
  facet: facet-wrap("island", labeller: label-both()),
  scales: (scale-y-continuous(labels: format-comma()),),
  labs: labs(
    title: "Penguin Morphology by Island",
    subtitle: "Flipper length versus body mass with a per-species linear fit",
    x: "Flipper Length (mm)",
    y: "Body Mass (g)",
    colour: "Species",
    fill: "Species",
  ),
  theme: theme-minimal(),
  guides: guides(
    colour: guide-legend(position: bottom + right),
    fill: guide-legend(position: bottom + right),
  ),
  width: auto,
  height: auto,
)

14 Likes

Find more “real” use cases at: TidyTuesday Gallery – TidyTuesday


9 Likes

Every line, star, and gradient in this chart was drawn in Typst, with Gribouille plotting its own star history.
Achieve publication-quality graphics with a single toolchain, no external plotting tools needed.

Gribouille 0.4.0 soon. Full source will ships with the announcement.

2 Likes

This is very, very cool. Thanks for sharing!

2 Likes

Gribouille 0.4.0 on its way to Typst Universe.

Read the full announcement and get the code for the figure: Gribouille 0.4.0: Temporal Scales, Any-Glyph Markers, and a Finer Grid – Mickaël CANOUIL

2 Likes

This is excellent package, with impressive attention to details ! :trophy:

2 Likes