我正在尝试使用 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)
我尝试将图形背景颜色设置为黑色,轴背景颜色设置为黑色,但显示时,只有图像的边框具有黑色背景颜色。很抱歉问这么简单的问题,因为我是这门语言的新手。预先感谢!
你的代码没有定义几个项目,比如
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)
这确实通过在轴内设置命名属性来为绘图背景着色。