AlgebraOfGraphics.jl: A Makie-powered algebraic grammar of graphics for Julia

AlgebraOfGraphics.jl: A Makie-powered algebraic grammar of graphics for Julia - Published in JOSS (2026)

https://github.com/makieorg/algebraofgraphics.jl

Science Score: 89.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Committers with academic emails
    3 of 43 committers (7.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords from Contributors

graphics julialang programming-language numerical dataframes tabular-data data-frame probability-distributions sciml data-structures
Last synced: 1 day ago · JSON representation

Repository

An algebraic spin on grammar-of-graphics data visualization in Julia. Powered by the Makie.jl plotting ecosystem.

Basic Info
  • Host: GitHub
  • Owner: MakieOrg
  • License: mit
  • Language: Julia
  • Default Branch: master
  • Homepage: https://aog.makie.org
  • Size: 518 MB
Statistics
  • Stars: 518
  • Watchers: 5
  • Forks: 61
  • Open Issues: 71
  • Releases: 109
Created over 6 years ago · Last pushed 8 days ago
Metadata Files
Readme Changelog Contributing License Agents

README.md

AlgebraOfGraphics Logo

[![CI](https://github.com/MakieOrg/AlgebraOfGraphics.jl/actions/workflows/ci.yml/badge.svg)](https://github.com/MakieOrg/AlgebraOfGraphics.jl/actions/workflows/ci.yml) [![codecov.io](https://codecov.io/github/MakieOrg/AlgebraOfGraphics.jl/coverage.svg?branch=master)](http://codecov.io/github/MakieOrg/AlgebraOfGraphics.jl?branch=master) [![](https://img.shields.io/badge/docs-stable-blue.svg)](https://aog.makie.org/stable) [![](https://img.shields.io/badge/docs-dev-blue.svg)](https://aog.makie.org/dev)

Visualize your data using a few simple building blocks that can be composed using + and *. AlgebraOfGraphics puts a new algebraic spin on the grammar of graphics idea known from R’s ggplot2 package.

Visualizations are powered by Makie and you have its full capabilities available to tweak figures produced by AlgebraOfGraphics.

Example

``` julia using AlgebraOfGraphics, CairoMakie

penguins = AlgebraOfGraphics.penguins()

setaogtheme!() update_theme!(Axis = (; width = 150, height = 150))

spec = data(penguins) * mapping(:billlengthmm, :billdepthmm)

draw(spec) ```

``` julia by_color = spec * mapping(color = :species)

draw(by_color) ```

``` julia withregression = bycolor * (linear() + visual(alpha = 0.3))

draw(with_regression) ```

``` julia facetted = with_regression * mapping(col = :sex)

draw(facetted) ```

julia draw(facetted, scales(Color = (; palette = :Set1_3)))

Contributing

See CONTRIBUTING.md for how to get help, report bugs, and contribute code or documentation.

Acknowledgements

Analyses rely on StatsBase.jl, Loess.jl, KernelDensity.jl, and GLM.jl. Some of their documentation is transcribed here.

Owner

  • Name: MakieOrg
  • Login: MakieOrg
  • Kind: organization
  • Email: info@makie.org
  • Location: Germany

Organization for the Makie plotting ecosystem

JOSS Publication

AlgebraOfGraphics.jl: A Makie-powered algebraic grammar of graphics for Julia
Published
July 27, 2026
Volume 11, Issue 123, Page 10894
Authors
Julius Krumbiegel ORCID
PumasAI
Pietro Vertechi ORCID
Ottante, Milan, Italy
Editor
Mehmet Hakan Satman ORCID
Tags
visualization grammar of graphics data analysis statistical graphics Makie

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 648
  • Total Committers: 43
  • Avg Commits per committer: 15.07
  • Development Distribution Score (DDS): 0.66
Past Year
  • Commits: 86
  • Committers: 8
  • Avg Commits per committer: 10.75
  • Development Distribution Score (DDS): 0.267
Top Committers
Name Email Commits
Julius Krumbiegel j****l@g****m 220
Pietro Vertechi p****i@n****g 160
Julius Krumbiegel 2****l@u****m 100
piever p****i@p****m 70
Simon s****h@p****m 13
github-actions[bot] 4****]@u****m 12
Fabian Greimel 6****l@u****m 8
Anshul Singhvi a****7@s****u 6
Fabian Greimel f****i@g****m 6
abhro 5****o@u****m 5
dependabot[bot] 4****]@u****m 4
Daniel Schwabeneder d****w@d****g 3
Jeremie Knuesel k****l@g****m 3
Lazaro Alonso l****n@g****m 3
Andreas Noack a****s@n****k 2
David Little d****e@g****m 2
Jorge Fernandez-de-Cossio-Diaz c****o@u****m 2
Jeremiah 4****s@u****m 2
Michael Hatherly m****y@g****m 2
Rik Huijzer r****r@p****e 2
Adam Fleischhacker f****a@u****m 1
Cécile Ané c****e@u****m 1
Douglas Bates d****s@g****m 1
Evan Wright 3****t@u****m 1
Fabian Bernhard 1****n@u****m 1
Hendrik Ranocha r****a@u****m 1
Juan José González Oneto 8****6@u****m 1
KronosTheLate 6****e@u****m 1
Lorenzo Contento 1****o@u****m 1
Lyndon White o****x@u****u 1
and 13 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 147
  • Total pull requests: 303
  • Average time to close issues: about 1 year
  • Average time to close pull requests: about 1 month
  • Total issue authors: 83
  • Total pull request authors: 39
  • Average comments per issue: 2.66
  • Average comments per pull request: 0.62
  • Merged pull requests: 225
  • Bot issues: 1
  • Bot pull requests: 26
Past Year
  • Issues: 18
  • Pull requests: 66
  • Average time to close issues: 5 days
  • Average time to close pull requests: 5 days
  • Issue authors: 15
  • Pull request authors: 6
  • Average comments per issue: 0.78
  • Average comments per pull request: 0.26
  • Merged pull requests: 52
  • Bot issues: 0
  • Bot pull requests: 3
Top Authors
Issue Authors
  • lazarusA (8)
  • jariji (8)
  • jkrumbiegel (7)
  • jtrakk (5)
  • nathanrboyer (4)
  • ajinkya-k (4)
  • lassepe (3)
  • ParadaCarleton (3)
  • roland-KA (3)
  • sethaxen (3)
  • rongcuid (3)
  • haberdashPI (3)
  • camilogarciabotero (3)
  • pdeffebach (3)
  • piever (3)
Pull Request Authors
  • jkrumbiegel (179)
  • github-actions[bot] (19)
  • piever (13)
  • abhro (11)
  • asinghvi17 (11)
  • lazarusA (9)
  • dependabot[bot] (7)
  • greimel (5)
  • SimonDanisch (4)
  • andreasnoack (4)
  • daschw (4)
  • cossio (2)
  • ajinkya-k (2)
  • ranocha (2)
  • andreuvall (2)
Top Labels
Issue Labels
Pull Request Labels
skip-changelog (42) dependencies (7) go (1)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 2,033 last-month
  • Total dependent packages: 8
  • Total dependent repositories: 0
  • Total versions: 97
juliahub.com: AlgebraOfGraphics

An algebraic spin on grammar-of-graphics data visualization in Julia. Powered by the Makie.jl plotting ecosystem.

  • Versions: 97
  • Dependent Packages: 8
  • Dependent Repositories: 0
  • Downloads: 2,033 Last month
Rankings
Dependent repos count: 9.9%
Average: 10.5%
Dependent packages count: 11.0%
Last synced: 5 months ago

Dependencies

.github/workflows/_docs.yml actions
  • actions/checkout v6 composite
  • julia-actions/cache v3 composite
  • julia-actions/setup-julia v3 composite
.github/workflows/_formatting.yml actions
  • actions/checkout v6 composite
  • fredrikekre/runic-action v1 composite
  • julia-actions/cache v3 composite
  • julia-actions/setup-julia v3 composite
.github/workflows/_test.yml actions
  • actions/checkout v6 composite
  • actions/upload-artifact v7 composite
  • codecov/codecov-action v7 composite
  • julia-actions/cache v3 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v3 composite
.github/workflows/CompatHelper.yml actions
  • julia-actions/setup-julia latest composite
.github/workflows/DocCleanup.yml actions
  • actions/checkout v2 composite
.github/workflows/RegisterAction.yml actions
  • julia-actions/RegisterAction latest composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
docs/package.json npm
  • @nolebase/vitepress-plugin-enhanced-readabilities ^2.14.0
  • markdown-it ^14.1.0
  • markdown-it-footnote ^4.0.0
  • markdown-it-mathjax3 ^4.3.2
  • vitepress ^1.6.3
  • vitepress-plugin-tabs ^0.6.0
.github/workflows/enforce-changelog.yml actions
  • actions/checkout v6 composite
  • dangoslen/changelog-enforcer v3 composite
Project.toml julia
  • Accessors *
  • Colors *
  • DataAPI *
  • Dates *
  • Dictionaries *
  • FileIO *
  • GLM *
  • GeoInterface *
  • GeometryBasics *
  • GridLayoutBase *
  • Isoband *
  • KernelDensity *
  • Loess *
  • Makie *
  • NaturalSort *
  • PlotUtils *
  • PolygonOps *
  • PooledArrays *
  • PrecompileTools *
  • RelocatableFolders *
  • StatsBase *
  • StructArrays *
  • Tables *
_readme/Project.toml julia
  • AlgebraOfGraphics *
  • CairoMakie *
docs/Project.toml julia
  • AlgebraOfGraphics *
  • CairoMakie *
  • Colors *
  • DataFrames *
  • DelimitedFiles *
  • Documenter *
  • DocumenterVitepress *
  • Downloads *
  • GeoInterface *
  • GeometryBasics *
  • Glob *
  • Literate *
  • Makie *
  • Random *
  • Shapefile *
  • Typst_jll *
  • Unitful *
  • ZipFile *
examples/Project.toml julia
  • AbstractPlotting *
  • GLMakie *
  • GridLayoutBase *
  • Observables *
  • RDatasets *
test/Project.toml julia
  • AlgebraOfGraphics *
  • Base64 *
  • CairoMakie *
  • DataFrames *
  • Dates *
  • DelimitedFiles *
  • Dictionaries *
  • Distributions *
  • DynamicQuantities *
  • GLM *
  • GeometryBasics *
  • GridLayoutBase *
  • KernelDensity *
  • Loess *
  • Makie *
  • PNGFiles *
  • PixelMatch *
  • Random *
  • Shapefile *
  • Statistics *
  • StatsBase *
  • Test *
  • Unitful *
test/coverage/Project.toml julia
  • Coverage *
tooling/formatter/Project.toml julia
  • Runic *