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 (語言數: 6)
平台
許可證MIT License
所有者活动
創建於2017-09-25 22:07:50
推送於2025-06-03 20:16:32
最后一次提交2025-06-03 16:30:26
發布數142
最新版本名稱v0.22.10 (發布於 2025-06-03 14:59:31)
第一版名稱v0.0.1 (發布於 )
用户参与
星數2.5k
關注者數25
派生數344
提交數7.7k
已啟用問題?
問題數2863
打開的問題數744
拉請求數1509
打開的拉請求數99
關閉的拉請求數422
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?