6

我使用以下方法创建了一个简单的情节GLMakie

GLMakie.scatter( range((-3e-9+1e-3)..(3e-9+1e-3),100), range(1..100,100) )

结果如下所示:

在此处输入图像描述

看起来 x 轴是高度量化的。该Plots包可以很好地处理相同的命令:

Plots.scatter( range((-3e-9+1e-3)..(3e-9+1e-3),100), range(1..100,100) )

在此处输入图像描述

GLMakie如果 x 范围以 0 为中心,也可以处理相同的图:

GLMakie.scatter( range((-5e-9)..(5e-9),100), range(1..100,100) )

在此处输入图像描述

为什么会这样?是否GLMakie使用较小的浮点数来提高速度?我能做些什么来避免这种情况吗?

4

1 回答 1

2

GLMakie 是否使用较小的浮点数来提高速度?

是的,它确实。OpenGL 通常使用 32 位浮点数,因此 Makie 已使用 Float32 构建。现在你已经规范化你的数据并手动调整刻度来解决这个问题。见https://makie.juliaplots.org/stable/examples/layoutables/axis/index.html#modifying_ticks

在 github 上也有很多关于此的问题,例如https://github.com/JuliaPlots/Makie.jl/issues/1373

于 2021-11-12T13:03:53.387 回答