Makie.jl: Flexible high-performance data visualization for Julia
Simon Danisch, Julius Krumbiegel · The Journal of Open Source Software · 2021
Makie.jl is a cross-platform plotting ecosystem for the Julia programming language (Bezanson et al., 2012), which enables researchers to create high-performance, GPU-powered, interactive visualizations, as well as publication-quality vector graphics with one unified interface.The infrastructure based on Observables.jlallows users to express how a visualization depends on multiple parameters and data sources, which can then be updated live, either programmatically, or through sliders, buttons and other GUI elements.A sophisticated layout system makes it easy to assemble complex figures.It is designed to avoid common difficulties when aligning nested subplots of different sizes, or placing colorbars or legends freely without spacing issues.Makie.jlleverages the Julia type system to automatically convert many kinds of input arguments which results in a very flexible API that reduces the need to manually prepare data.Finally, users can extend every step of this pipeline for their custom types through Julia's powerful multiple dispatch mechanism, making Makie a highly productive and generic visualization system.