Makie.jl

High level plotting on the GPU

Github星跟踪图

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:

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

You will need to have ffmpeg in the path to run the video recording examples.
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 ffmpeg cmake xorg-dev

RedHat/Fedora

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

Note that the RPM Fusion repo is needed for ffmpeg.

Ecosystem

Makie.jl 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).

Examples, and test infrastructure, are hosted at MakieGallery.jl

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.

Examples from the documentation:


























































Mouse interaction:

Animating a surface:

Complex examples

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#master" # since there hasn't been a release of the new one yet

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.

主要指标

概览
名称与所有者MakieOrg/Makie.jl
主编程语言Julia
编程语言Julia (语言数: 5)
平台
许可证MIT License
所有者活动
创建于2017-09-25 22:07:50
推送于2025-07-15 13:23:31
最后一次提交2025-07-15 04:41:24
发布数152
最新版本名称v0.24.3 (发布于 2025-07-04 14:48:51)
第一版名称v0.0.1 (发布于 )
用户参与
星数2.6k
关注者数25
派生数350
提交数7.8k
已启用问题?
问题数2923
打开的问题数764
拉请求数1594
打开的拉请求数96
关闭的拉请求数435
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?