Skip to content

MakieOrg/AlgebraOfGraphics.jl

Repository files navigation

AlgebraOfGraphics Logo

AlgebraOfGraphics

CI codecov.io

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

using AlgebraOfGraphics, CairoMakie, PalmerPenguins, DataFrames

penguins = dropmissing(DataFrame(PalmerPenguins.load()))

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

spec = data(penguins) * mapping(:bill_length_mm, :bill_depth_mm)

draw(spec)

by_color = spec * mapping(color = :species)

draw(by_color)

with_regression = by_color * (linear() + visual(alpha = 0.3))

draw(with_regression)

facetted = with_regression * mapping(col = :sex)

draw(facetted)

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

Acknowledgements

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

Logo and favicon made with 🧡 by @dyogurt.