Skip to content

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

License

Notifications You must be signed in to change notification settings

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages