close
The Wayback Machine - https://web.archive.org/web/20201104173643/https://github.com/JuliaPlots/Makie.jl
Skip to content
master
Go to file
Code

Files

Permalink
Failed to load latest commit information.

README.md

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: Image Image

Build status: Image

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

Image

GeoMakie

Image

MakieTeX

Image

StatsMakie

Image

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:

Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image

Mouse interaction:

Image

Animating a surface:

Image

Complex examples

Image

You can’t perform that action at this time.