通过 Plots 使用 "gr()" 和安装 GR.jl 包之间的区别

Difference between using "gr()" via Plots and installing GR.jl package

我已经安装了 Plots.jl 软件包并使用了 "gr()" 命令。

然后,我在 https://gr-framework.org/julia.html

上遇到了 GR.jl

我很困惑两者之间有什么区别。

有人可以深入了解一下吗?

谢谢,

GR.jl 是 Julia 中的一个绘图包,实际上是整个 GR 框架的 Julia 包装器,一个非常快速和强大的绘图框架,具有前后端功能。它本身就非常有用和可用。

Plots.jl 是 Julia 中的元绘图包,旨在提供一种方便的简洁语法,用于使用许多不同的绘图包创建绘图。因此,Plots 本身不做任何绘图 - 它接受您的输入命令并将它们转换为对其他绘图包的调用,称为 "backends"。这目前为 5 个不同的包实现:PyPlot、GR、Plotly、PGFPlots 和 InspectDR。 GR 是迄今为止使用最广泛的后端(目前是默认后端)。

Plots 的一个目标是允许包所有者定义 "recipes",这是对如何绘制自定义类型(例如 Shapefile、Phylogeny、Cluster 对象等)的描述,但不依赖于在地块上。这使得使用 Plots 定义的配方绘制类型成为可能,但不会干扰任何其他绘图包。

因此,虽然 GR 本身就可以使用,但许多用户发现 Plots 的高级语法在日常使用中更好用,并且喜欢 recipes 的额外有用性。