Welcome to Makie!

Makie is a high-performance, extendable, and multi-platform plotting ecosystem for the Julia programming language.

Installation and Import

Add one or more of the Makie backend packages GLMakie.jl (OpenGL), CairoMakie.jl (Cairo), or WGLMakie.jl (WebGL).

]add GLMakie
using GLMakie

If you want to switch to a different backend in a running session, call that backend's activate! function.

]add CairoMakie
using CairoMakie
# if, for example, GLMakie is activated already

First Steps


These docs were autogenerated using:

  • AbstractPlotting: v0.15.22
  • GLMakie: v0.1.27
  • CairoMakie: v0.3.16

If you encounter errors with the code examples, check first that your installed versions are appropriate.

Makie Ecosystem

AbstractPlotting.jlDefines all infrastructure objects which can be visualized using one of the three backend packages.
GLMakie.jlGPU-powered, interactive 2D and 3D plotting in standalone GLFW.jl windows.
CairoMakie.jlCairo.jl based, non-interactive 2D backend for publication-quality vector graphics.
WGLMakie.jlWebGL-based interactive 2D and 3D plotting that runs within browsers.

The differences between backends are explained in more details under Backends & Output.

Extension Packages

These packages are maintained by third parties. If you install them, keep an eye on version conflicts or downgrades as the Makie ecosystem is developing quickly so things break occasionally.

AlgebraOfGraphics.jlGrammar-of-graphics style plotting, inspired by ggplot2.
GeoMakie.jlGeographic plotting utilities. Currently not maintained.

Getting Help

  1. Use the REPL ? help mode.
  2. Click this link to open a preformatted topic on the Julia Discourse Page. If you do this manually, please use the category Domain/Visualization and tag questions with Makie to increase their visibility.
  3. For casual conversation about Makie and its development, have a look at the #makie channel in the Julia Slack group. Please direct your usage questions to Discourse and not to Slack, to make questions and answers accessible to everybody.
  4. For technical issues and bug reports, open an issue in the Makie.jl repository which serves as the central hub for AbstractPlotting and backend issues.