Engee 文档

凯罗玛基

该页面正在翻译中。

CairoMakie使用开罗。jl绘制矢量图形到SVG和PDF。 如果您想为出版物获得最高质量的绘图,您应该使用它,因为GL backends的渲染过程通过位图工作,并且更倾向于速度而不是像素完美。

激活和屏幕配置

通过调用激活后端 凯罗玛基。启动!() 具有以下选项:

CairoMakie.activate!(; screen_config...)

将CairoMakie设置为当前活动的后端,并允许快速设置 屏幕_config. 请注意, 屏幕_config 也可以通过永久设置 Makie。set_theme!(CairoMakie=(screen_config。..,)).

可以通过的参数 屏幕_config:

  • px_per_unit=2.0

  • pt_per_unit=0.75

  • antialias::联盟{Symbol, Int} =:最佳:antialias modus开罗使用绘制。 适用选项: [:最佳=>开罗.ANTIALIAS_BEST,:好=>开罗.ANTIALIAS_GOOD,:subpixel=>开罗.ANTIALIAS_SUBPIXEL,:none=>开罗.ANTIALIAS_NONE].

  • 可见::Bool:如果为true,浏览器/图像查看器将打开以显示渲染的输出。

  • pdf_version::String=nothing:输出Pdf的版本。 适用的选项有 "1.4", "1.5", "1.6", "1.7",或 什么都没有,这使得PDF版本不受限制。

内联绘图类型

您可以选择内联显示的绘图类型,例如VSCode、Pluto。jl,或任何其他环境,通过设置它通过 启动! 函数。

CairoMakie.activate!(type = "png")
CairoMakie.activate!(type = "svg")

Z-顺序

CairoMakie作为2D引擎没有z-clipping的概念,因此其3D功能相当有限。 3D绘图的z值将没有影响,并将平面投影到画布上。 Z分层的近似方法是在绘制之前按所有绘图对象的z平移值排序,然后按父场景排序,然后按插入顺序排序。 因此,如果你想在其他东西的顶部绘制一些东西,但它最终在下面,请尝试通过以下方式向前翻译 翻译!(obj,0,0,some_positive_z_value).

选择性光栅化

通过设置 栅格化 一个情节的属性,你可以告诉CairoMakie这个情节需要在保存时进行光栅化,即使保存到矢量后端。 如果在不规则网格上,这对于大型网格,表面甚至热图非常有用。

假设你有一个 情节 对象 plt,plt,您可以设置 plt的。栅格化=真 对于简单的光栅化,或者您可以设置 plt的。栅格化=scale::Int,在哪里 比例尺 表示图像表面的缩放因子。

例如,如果场景的大小为 (800, 600),通过设置 比例=2,矢量图形中嵌入的光栅化图像将具有的分辨率为 (1600, 1200).

您可以通过设置来停用此栅格化 plt的。光栅化=错误.

例子:: </无翻译>

using CairoMakie
v = rand(10,2)
scatter(v[:,1], v[:,2], rasterize = true, markersize = 30.0)
9aff6ba

如果你放大,你会看到一个相当糟糕的像素化图像-这是因为光栅化密度设置为1 pxpt碌莽禄掳. 设置 栅格化=10 使这更顺畅: </无翻译>

using CairoMakie
v = rand(10,2)
scatter(v[:,1], v[:,2], rasterize = 10, markersize = 30.0)
fafdcca

PDF版本

输出Pdf的版本可以通过 pdf_version 屏幕配置的参数。 方便的是,它也可以作为 储蓄 功能:

using CairoMakie
fig = Figure()
save("figure.pdf", fig, pdf_version="1.4")