5 使用 Makie.jl 做数据可视化

    Makie.jl 是高性能,可扩展且跨平台的 Julia 语言绘图系统。 我们认为,它是最漂亮和最通用的绘图包。

    与其他绘图包一样,该库的代码分为多个包。 Makie.jl 是绘图前端,它定义了所有创建绘图对象需要的函数。 虽然这些对象存储了绘图所需的全部信息,但还未转换为图片。 因此,我们需要一个 Makie 后端。 默认情况下,每一个后端都将 Makie.jl 中的API都重新导出了,因此只需要安装和加载所需的后端包即可。

    本书将只介绍一些 CairoMakie.jl 和 的例子。

    使用任一绘图后端的方法是 using 该后端并调用 activate! 函数。 示例如下:

    现在可以开始绘制出版质量级的图。 但是,在绘图之前,应知道如何保存。 save 图片 fig 的最简单方法是 save("filename.png", fig)CairoMakie.jl 也支持保存为其他格式,如 svg 和 。 通过传递指定的参数可以轻松地改变图片的分辨率。 对于矢量格式,指定的参数为 pt_per_unit。例如:

    对于 png,则指定 px_per_unit。 查阅 可获得更多详细信息。

    另一重要问题是如何可视化输出数据图。 在使用 CairoMakie.jl 时,Julia REPL 不支持显示图片, 所以你还需要 IDE(Integrated Development Environment,集成开发环境),例如支持 pngsvg 作为输出的 VSCode,Jupyter 或 Pluto。 另一个包 GLMakie.jl 则能够创建交互式窗口,或在调用 时在行间显示位图。

    CC BY-NC-SA 4.0 Jose Storopoli, Rik Huijzer, Lazaro Alonso, 刘贵欣 (中文翻译), 田俊 (中文审校)