Visualization libraries · plotnine developers (Hassan Kibirige)

plotnine

Python implementation of R's ggplot2 grammar of graphics, for building charts by layering data, geometries, and scales.

plotnine is a Python plotting library that reimplements R's ggplot2 grammar of graphics, letting users build charts by composing layers — a base aesthetic mapping, one or more geometries (points, lines, bars), statistical transformations, and scales — with the + operator rather than calling one function per chart type. It is aimed squarely at users coming from, or working alongside, R's tidyverse who want the same mental model and faceting/theming conventions in Python. It renders static output via Matplotlib underneath, so it inherits Matplotlib's export formats but not its imperative Axes-based API. plotnine covers most of ggplot2's core grammar (facets, coordinate systems, statistical layers) though some ggplot2 extensions and interactive features are not available.

At a glance

Vendor plotnine developers (Hassan Kibirige)
Pricing model Open source + paid options
Free tier Yes
Deployment Self-hosted
Open source Yes (MIT)
Best for Python users who know ggplot2 and want the same grammar of graphics without switching languages.

Pricing

Free, open-source library with no pricing page.

Pricing has not been verified yet — see the vendor's site.

Features

  • Grammar-of-graphics layered chart composition
  • ggplot2-compatible syntax and conventions
  • Faceting and theming
  • Statistical transformation layers
  • Matplotlib-based static rendering
  • Familiar model for R/tidyverse users moving to Python

Integrations

Profile last reviewed September 21, 2026

Alternatives

plotnine in the index now

Terms to know

Related guides