轴心3
|
该页面正在翻译中。 |
Axis3相互作用
与Axis一样,Axis3启用了一些预定义的交互。
缩放/缩放
您可以通过向内和向外滚动来放大轴。 默认情况下,缩放聚焦在轴的中心。 您可以设置 zoomcode=:光标 以将缩放焦点集中在光标上。 如果按 x, y 或 z 滚动时,缩放仅限于该维度。 如果同时按下两个键,缩放将被限制在相应的平面上。 这些键可以通过属性进行更改 xzoomkey的, yzoomkey的 和 zzoomkey,zzoomkey. 您还可以通过设置轴属性来始终限制缩放尺寸 [医]锁, [医]左旋锁 或 zzoomlock,zzoomlock 到 真的.
与 viewmode=:免费 变焦的行为改变。 缩放不仅仅影响轴的内容,而是影响轴作为一个整体。 它还禁用 zoomcode=:光标. 此交互注册为 :滚动室 并使用 滚动条/滚动条 类型。
翻译
您可以通过右键单击并拖动来转换Axis3的视图。 如果按 x, y 或 z 在翻译时,翻译仅限于该维度。 如果同时按下两个键,则转换将被限制在相应的平面上。 这些键可以通过属性进行更改 [医]翻译键, [医]翻译键 和 [医]翻译键. 您还可以通过设置轴属性来限制平移 [医]翻译锁, [医]翻译锁 或 [医]翻译锁 到 真的.
与 viewmode=:免费 添加了另一个翻译选项。 按 控制 在右键单击拖动时,平移将影响轴在窗口中的位置,而不是轴内的内容。 此交互注册为 :翻译 并使用 德拉潘 类型。
限制复位
您可以重置限制,即缩放和翻译 ctrl+左键单击. 这与调用相同 reset_limits!(斧头). 它将限制设置回存储在 斧头限制. 如果他们是 什么都没有 这计算自动限制。 如果你以前打过电话 极限!, xlims!, 伊利姆斯! 或 兹利姆斯! 然后 斧头限制 将通过这种交互来设置和保持。 您可以重置轴的旋转 shift+左键单击. 如果 viewmode=:免费 这也将重置轴的平移(而不仅仅是内容)。 如果同时触发两者,即按 ctrl+shift+左键,轴将完全复位。 这包括 斧头限制 它们被重置为 什么都没有 经 autolimits!(斧头) 此交互注册为 :限制 并使用 限制,限制 类型。
属性
方面
默认值为 (1.0, 1.0, 2 / 3)
控制三个轴相对于彼此的长度。
选项是:
-
一个三元组的数字,它直接设置x,y和z轴的相对长度
-
:数据它将长度比设置为等于轴的极限比。 这会导致数据空间中的立方体看起来像一个立方体而不是一个长方体的"未quished"外观。 -
:相等这是一个简写(1, 1, 1)
using CairoMakie
fig = Figure()
Axis3(fig[1, 1], aspect = (1, 1, 1), title = "aspect = (1, 1, 1)")
Axis3(fig[1, 2], aspect = (2, 1, 1), title = "aspect = (2, 1, 1)")
Axis3(fig[2, 1], aspect = (1, 2, 1), title = "aspect = (1, 2, 1)")
Axis3(fig[2, 2], aspect = (1, 1, 2), title = "aspect = (1, 1, 2)")
fig
using CairoMakie
using FileIO
图=图()
脑=load(assetpath("脑。stl"))
ax1=Axis3(图[1,1],aspect=:equal,title="aspect=:equal")
ax2=Axis3(图[1,2],aspect=:data,title="aspect=:data")
对于[ax1,ax2]中的ax
网丝!(ax,brain,color=:gray80)
结束
无花果
方位角
默认值为 1.275圆周率
摄像机的方位角(左/右)角度。
using CairoMakie
fig = Figure()
for (i, azimuth) in enumerate([0, 0.1, 0.2, 0.3, 0.4, 0.5])
Axis3(fig[fldmod1(i, 3)...], azimuth = azimuth * pi,
title = "azimuth = $(azimuth)π", viewmode = :fit)
end
fig
海拔高度
默认值为 pi/8
using CairoMakie
fig = Figure()
for (i, elevation) in enumerate([0, 0.05, 0.1, 0.15, 0.2, 0.25])
Axis3(fig[fldmod1(i, 3)...], elevation = elevation * pi,
title = "elevation = $(elevation)π", viewmode = :fit)
end
fig
限制
默认值为 (没有,没有,没有)
用户手动设置的限制。 它们在调用时恢复 reset_limits! 而被设定为无 autolimits!. 可以是元组(xlow,xhigh,ylow,yhigh,zlow,zhigh)或元组(nothing_or_xlims,nothing_or_ylims,nothing_or_zlims)。 由 xlims!, 伊利姆斯!, 兹利姆斯! 和 极限!.
透视性
默认值为 0.0
此设置提供从0到1的简单比例,其中0看起来像正投影(无透视),1是强透视外观。 对于大多数数据可视化应用程序,应避免使用透视,因为这会使正确解释数据变得更加困难。 然而,如果美学比中性的表现更重要,它就会有用。 </无翻译>
using CairoMakie
fig = Figure()
for(i,perspectiveness)in enumerate(range(0,1,length=6))
ax=Axis3(图[fldmod1(i,3)。..];透视,突出= (0, 0, 0, 15),
标题=":perspectiveness=$(perspectiveness)")
藏起来了!(斧头)
结束
无花果
突起物
默认值为 30
突起控制为标签等保留多少间隙空间。 在 轴心3. 不像 轴心,轴心, 轴心3 目前不会根据报价和标签的属性自动设置这些值。 这是因为有效的突起还取决于轴长方体的旋转和缩放,该长方体每当 轴心3 布局的变化。 因此,自动更新突起可能导致无休止的布局更新周期。
的默认值 30 对于所有方面只是一个启发式,并可能导致轴装饰与碰撞 图 边界或其他绘图元素。 如果是这种情况,您可以尝试增加值。
using CairoMakie
fig = Figure(backgroundcolor = :gray97)
Box(fig[1, 1], strokewidth = 0) # visualizes the layout cell
Axis3(fig[1, 1], protrusions = 100, viewmode = :stretch,
title = "protrusions = 100")
fig
using CairoMakie
fig = Figure(backgroundcolor = :gray97)
Box(fig[1, 1], strokewidth = 0) # visualizes the layout cell
ax = Axis3(fig[1, 1], protrusions = (0, 0, 0, 20), viewmode = :stretch,
title = "protrusions = (0, 0, 0, 20)")
hidedecorations!(ax)
fig
视图模式
默认值为 :菲茨姆
视图模式通过以不同方式将轴长方体拟合到可用空间来影响轴的最终投影。
-
:适合使用固定缩放,使长方体周围的紧密球体接触框架边缘。 这意味着旋转轴时缩放不会改变(轴的表观尺寸保持不变),但并非所有可用空间都被使用。 被选中的人方面使用此设置进行维护。 -
:菲茨姆使用可变缩放,使最接近的长方体角接触框架边缘。 当旋转轴时,轴的表观尺寸发生变化,这可能导致"泵送"视觉效果。 被选中的人方面也使用此设置进行维护。 -
:伸展将长方体角拉到框架边缘,以便完全填充可用空间。 被选中的人方面不使用此设置进行维护,因此:伸展如果需要特定方面,不应使用。 -
:免费行为像:适合但改变了一些互动。 缩放会影响整个轴,而不仅仅是内容。 这允许您放大内容,而不会被Axis3的3D边界框裁剪。zoomcode=:光标被禁用。 平移也不能影响轴作为一个整体控制+右拖动.
using CairoMakie
fig = Figure()
for (i, viewmode) in enumerate([:fit, :fitzoom, :stretch])
for (j, elevation) in enumerate([0.1, 0.2, 0.3] .* pi)
Label(fig[i, 1:3, Top()], "viewmode = $(repr(viewmode))", font = :bold)
# show the extent of each cell using a box
Box(fig[i, j], strokewidth = 0, color = :gray95)
ax = Axis3(fig[i, j]; viewmode, elevation, protrusions = 0, aspect = :equal)
hidedecorations!(ax)
end
end
fig
x射线,x射线
默认值为 错误
using CairoMakie
using FileIO
fig = Figure()
brain = load(assetpath("brain.stl"))
ax1 = Axis3(fig[1, 1], title = "xreversed = false")
ax2 = Axis3(fig[2, 1], title = "xreversed = true", xreversed = true)
for ax in [ax1, ax2]
mesh!(ax, brain, color = getindex.(brain.position, 1))
end
fig
yreversed
默认值为 错误
using CairoMakie
using FileIO
fig = Figure()
brain = load(assetpath("brain.stl"))
ax1=Axis3(图[1,1],标题="yreversed=false")
ax2=Axis3(图[2,1],标题="yreversed=true",yreversed=true)
对于[ax1,ax2]中的ax
网丝!(ax,brain,color=getindex。(大脑。位置,2))
结束
无花果
zreversed
默认值为 错误
using CairoMakie
using FileIO
fig = Figure()
brain = load(assetpath("brain.stl"))
ax1 = Axis3(fig[1, 1], title = "zreversed = false")
ax2 = Axis3(fig[2, 1], title = "zreversed = true", zreversed = true)
for ax in [ax1, ax2]
mesh!(ax, brain, color = getindex.(brain.position, 3))
end
fig