在 GLMakie (Julia) 中将背景设置为黑色

问题描述 投票:0回答:1

我正在尝试使用 GLMakie 在 Julia 中创建一些奇怪吸引子的散点图。我找不到将整个背景(除了点之外的所有内容)设置为黑色的方法。这是我的代码的一部分:

fig = Figure(size=(1500, 1500), backgroundcolor = RGBAf(0, 0, 0, 1))
fig_grid = CartesianIndices((1, 1))
cmap = to_colormap(:BuPu_9)
cmap[1] = RGBAf(1, 1, 1, 1) 

let
    n_points = 10^6
    for (i, arg) in enumerate(cargs)
        global points = trajectory(Juan, arg...; n=n_points)
        r, c = Tuple(fig_grid[i])
        ax, plot = datashader(fig[r, c], points;
            colormap=cmap,
            async=false,
            axis=(; type=Axis, title=join(string.(arg), ", ")))

        ax.backgroundcolor = RGBAf(0, 0, 0, 1)
        plot.backgroundcolor = RGBAf(0, 0, 0, 1)
        hidedecorations!(ax)
        hidespines!(ax)
    end
end
rowgap!(fig.layout,5)
colgap!(fig.layout,1)
display(fig)

我尝试将图形背景颜色设置为黑色,轴背景颜色设置为黑色,但显示时,只有图像的边框具有黑色背景颜色。很抱歉问这么简单的问题,因为我是这门语言的新手。预先感谢!

julia visualization
1个回答
0
投票

你的代码没有定义几个项目,比如

cargs
,所以我无法运行它。

不过,一般来说,您应该在绘图之前设置轴,以便绘图是作为轴的修改完成的,例如使用

scatter!
而不是
scatter
。例如:

using GLMakie

fig = Figure(size=(1500, 1500), backgroundcolor = RGBAf(0, 0, 0, 1))
fig_grid = CartesianIndices((1, 1))
cmap = to_colormap(:BuPu_9)
cmap[1] = RGBAf(1, 1, 1, 1) 

ax = Axis(fig[1, 1])
plt = scatter!(ax, 1:20, 5:24)
ax.backgroundcolor = "black"
display(fig)

这确实通过在轴内设置命名属性来为绘图背景着色。

© www.soinside.com 2019 - 2024. All rights reserved.