A data visualization ecosystem for Julia

Marie-Hélène Burle

October 26, 2022


Plotting in Julia

Many options:

  • Plots.jl: high-level API for working with different back-ends (GR, Pyplot, Plotly…)
  • PyPlot.jl: Julia interface to Matplotlib’s matplotlib.pyplot
  • PlotlyJS.jl: Julia interface to plotly.js
  • PlotlyLight.jl: the fastest plotting option in Julia by far, but limited features
  • Gadfly.jl: following the grammar of graphics popularized by Hadley Wickham in R
  • VegaLite.jl: grammar of interactive graphics
  • PGFPlotsX.jl: Julia interface to the PGFPlots LaTeX package
  • UnicodePlots.jl: plots in the terminal 🙂
  • Makie.jl: powerful plotting ecosystem: animation, 3D, GPU optimization

Makie ecosystem

  • Main package:

    • Makie: plots functionalities. Backend needed to render plots into images or vector graphics
  • Backends:

    • CairoMakie: vector graphics or high-quality 2D plots. Creates, but does not display plots (you need an IDE that does or you can use ElectronDisplay.jl)

    • GLMakie: based on OpenGL; 3D rendering and interactivity in GLFW window (no vector graphics)

    • WGLMakie: web version of GLMakie (plots rendered in a browser instead of a window)


Cheatsheet 2D