# The (background)color of Box always covers the 3D LScene.scene.backgroundcolor, and the latter cannot be changed

**URL:** <https://discourse.julialang.org/t/the-background-color-of-box-always-covers-the-3d-lscene-scene-backgroundcolor-and-the-latter-cannot-be-changed/118422>\
**Category:** Visualization\
**Tags:** plotting, bug, makie\
**Created:** [August 20, 2024, 4:09pm UTC](https://discourse.julialang.org/t/the-background-color-of-box-always-covers-the-3d-lscene-scene-backgroundcolor-and-the-latter-cannot-be-changed/118422 "2024-08-20T16:09:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![xczphysics](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xczphysics/32/211370_2.png) [@xczphysics](https://discourse.julialang.org/u/xczphysics)\
**Post date:** [August 20, 2024, 4:09pm UTC](https://discourse.julialang.org/t/the-background-color-of-box-always-covers-the-3d-lscene-scene-backgroundcolor-and-the-latter-cannot-be-changed/118422/1 "2024-08-20T16:09:28Z")

</div>

Cannot create a layout that a `3D-LScene` with a colorful background placed over a `Box` placeholder filled with another colorful background.

This post point out 2 problems:

- the display sequence of `Box`’s `:color` is always priorior to `LScene.scene.backgroundcolor`
- CANNOT change the background(either black or white) of a 3D plot in LScene

Some posts related to the 2nd problem:

- [Make - How to change the color of axes & grids in LScene?](https://discourse.julialang.org/t/make-how-to-change-the-color-of-axes-grids-in-lscene/78641)
- [Changing the background color of a 3D Scene in Makie - #4 by lazarusA](https://discourse.julialang.org/t/changing-the-background-color-of-a-3d-scene-in-makie/53490/4)

Codes below are modified from [How to draw boxes around subfigures | Makie](https://docs.makie.org/v0.21/how-to/draw-boxes-around-subfigures)

```julia
# https://docs.makie.org/v0.21/how-to/draw-boxes-around-subfigures

using GLMakie
GLMakie.activate!()
# using WGLMakie
# WGLMakie.activate!()
# using CairoMakie
# CairoMakie.activate!()
f = Figure(size=(1920, 1080),)

# g12 = 
g1 = GridLayout(f[1, 1], width=200, height=650, alignmode=Outside(15))
g2 = GridLayout(f[1, 2], width=200, height=650, alignmode=Outside(15))
box1 = Box(f[1, 1], cornerradius=10, color=(:tomato, 0.5), strokecolor=:transparent)
box11 = Box(g1[1, 1], cornerradius=10, color=(:tomato, 1), strokecolor=:transparent)
box2 = Box(f[1, 2], cornerradius=10, color=(:teal, 0.5), strokecolor=:transparent)

# move the boxes back so the Axis background polys are in front of them
Makie.translate!(box1.blockscene, 0, 0, -100)
Makie.translate!(box2.blockscene, 0, 0, -100)

ax11 = LScene(g1[1, 1])
# Makie.translate!(ax11.scene, 0, 0, 100)
Axis(g1[2, 1])
Axis(g1[3, 1], backgroundcolor=:white)

# Box(f[1, 1], cornerradius=10, color=(:tomato, 0.5), strokecolor=:transparent)
# Makie.translate!(box1.blockscene, 0, 0, -1)
# ax11.scene.clear=true
ax11.blockscene.backgroundcolor = RGBAf(0,0,1,0.5)
Makie.translate!(ax11.blockscene, 0, 0, 1)
# ax11.scene.attributes[:background] = :purple

Axis(g2[1, 1])
Axis(g2[2, 1])
Axis(g2[3, 1])

line_width = 2.0f0
circle_size = 40.0f0

# 添加 起点终点 所决定的 箭头
e0 = Point3f(0, 0, 0)
ex = Point3f(1, 0, 0) # x轴正方向
ey = Point3f(0, 1, 0) # y轴正方向
ez = Point3f(0, 0, 1) # z轴正方向

arrow_head_branch = 0.1f0 # 使用浮点数后缀 f0 来指定 Float32 类型
e_x = Point3f(arrow_head_branch, 0, 0) # x轴正方向
e_y = Point3f(0, arrow_head_branch, 0) # y轴正方向
e_z = Point3f(0, 0, arrow_head_branch) # z轴正方向

linesegments!(ax11, [e0, ex], color=[:red, :red], linewidth=line_width)
linesegments!(ax11, [e0, ey], color=[:green, :green], linewidth=line_width)
linesegments!(ax11, [e0, ez], color=[:blue, :blue], linewidth=line_width)

linesegments!(ax11, [e0, ex], color=[:red, :red], linewidth=line_width)
linesegments!(ax11, [e0, ey], color=[:green, :green], linewidth=line_width)
linesegments!(ax11, [e0, ez], color=[:blue, :blue], linewidth=line_width)
scatter!(ax11, ex, color=:red, markersize=circle_size)
scatter!(ax11, -ex, color=(:red, 0), markersize=circle_size - line_width * 3.0f0,
    strokewidth=line_width, strokecolor=:red)

scatter!(ax11, ey, color=:green, markersize=circle_size)
scatter!(ax11, -ey, color=(:green, 0), markersize=circle_size - line_width * 3.0f0,
    strokewidth=line_width, strokecolor=:green)

scatter!(ax11, ez, color=:blue, markersize=circle_size)
scatter!(ax11, -ez, color=(:blue, 0), markersize=circle_size - line_width * 3.0f0,
    strokewidth=line_width, strokecolor=:blue)

# ax11.scene.attributes[:background] = :black # 设置为黑色背景
# ax11.scene.clear = true # 确保清除背景以应用颜色
# Makie.translate!(a.scene, 0, 0, 100)

# DataInspector(scene = current_figure())

Label(f[0, :], "Two boxes indicate groups of axes that belong together")

f

```

There’s a 3D LScene **behind** the first subplot: can we **display it in the front/first layer**?

 ![image](https://global.discourse-cdn.com/julialang/original/3X/8/c/8c078e3a2532a1d2a5b35f61ee0a0d38c308a39f.png)
