From the japanese word Maki-e, which is a technique to sprinkle lacquer with gold and silver powder. Data is basically the gold and silver of our age, so let's spread it out beautifully on the screen!
julia>] pkg> add Makie pkg> test Makie
If you plan to use
Makie#master, you likely also need to check out
On Linux, you also need to add the following to get GLFW to build (if you don't have those already):
sudo apt-get install cmake xorg-dev
sudo dnf install cmake libXrandr-devel libXinerama-devel libXcursor-devel
Makie is the metapackage for a rich ecosystem, which consists of GLMakie.jl, CairoMakie.jl and WGLMakie.jl (the backends); AbstractPlotting.jl (the bulk of the package); and StatsMakie.jl (statistical plotting support, as in StatsPlots.jl).
MakieLayout.jl is a layout manager for Makie. It brings grid layouts, a new 2D axis, and widgets like sliders and buttons that behave well in a layout to Makie.
Examples, and test infrastructure, are in MakieGallery.jl.
You can also follow Makie on twitter to get the latest, outstanding examples:
Interactive MakieLayout example by AlexisRenchon:
Using Juno with Makie
The default OpenGL backend for Makie is not interactive in the Juno plotpane - it just shows a PNG instead. To get full interactivity, you can run
If that fails, you can disable the plotpane in Atom's settings by going to
UI Options - Then, make sure
Enable Plot Plane is not checked.
Using IJulia / Jupyter Notebook with Makie
You may need to run
AbstractPlotting.inline!(true) in order for plots to appear.
You can compile a binary for Makie and add it to your system image for fast plotting times with no JIT overhead. To do that, you need to check out the additional packages for precompilation. Then you can build a system image like this:
using Pkg # add PackageCompiler and other dependencies pkg"add PackageCompiler" # Make sure you have v1.0 or higher of PackageCompiler! using PackageCompiler # This will create a system image in the current directory, which you can # use by launching Julia with `julia -J ./MakieSys.so`. PackageCompiler.create_sysimage( :Makie; sysimage_path="MakieSys.so", precompile_execution_file=joinpath(pkgdir(Makie), "test", "test_for_precompile.jl") )
Should the display not work after compilation, call
AbstractPlotting.__init__() immediately after