dummy-link

Makie

High level plotting on the GPU.

Readme

Makie.jl

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!

Documentation:

Build status:

DOI

Installation

julia>]
pkg> add Makie
pkg> test Makie

If you plan to use Makie#master, you likely also need to check out AbstractPlotting#master and GLMakie#master.

Dependencies

On Linux, you also need to add the following to get GLFW to build (if you don't have those already):

Debian/Ubuntu

sudo apt-get install cmake xorg-dev

RedHat/Fedora

sudo dnf install cmake libXrandr-devel libXinerama-devel libXcursor-devel

Ecosystem

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.

There is experimental support for using Plots.jl and RecipesBase.jl recipes in MakieRecipes.jl, and a prototype TeX plotting implementation with vector support in MakieTeX.jl.

Examples, and test infrastructure, are in MakieGallery.jl.

You can also follow Makie on twitter to get the latest, outstanding examples: image

MakieLayout

Interactive MakieLayout example by AlexisRenchon:

out

InteractiveChaos

GeoMakie

MakieTeX

StatsMakie

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 AbstractPlotting.inline!(false).

If that fails, you can disable the plotpane in Atom's settings by going to Juno - Settings - UI Options - Then, make sure Enable Plot Plane is not checked.

Using IJulia / Jupyter Notebook with Makie

Currently, only non-interactive plots are supported. (See the issues #15 and #266.)

You may need to run AbstractPlotting.inline!(true) in order for plots to appear.

Precompilation

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 using Makie.

Examples from the documentation:

Mouse interaction:

Animating a surface:

Complex examples

First Commit

09/25/2017

Last Touched

2 days ago

Commits

416 commits

Used By: