You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免Julia中3D绘图轴压缩,使立方体显示符合几何形态?

问题描述

我正在使用Julia绘制两个相邻的立方体,通过绘制立方体顶点间的直线实现,当前代码如下:

p = Plots.scatter(camera=(-240,10), legend=false) #axis=([], false))
plot!([7.5, 6.5, 6.5, 7.5, 7.5, 7.5, 7.5, 6.5, 6.5, 7.5], [1.5, 1.5, 1.5, 1.5, 1.5, 2.5, 2.5, 2.5, 2.5, 2.5], [1.0, 1.0, 2.0, 2.0, 1.0, 1.0, 2.0, 2.0, 1.0, 1.0], linewidth=1, lc=:black)
plot!([6.5, 6.5], [1.5, 2.5], [1.0, 1.0], linewidth=1, lc=:black)
plot!([6.5, 6.5], [1.5, 2.5], [2.0, 2.0], linewidth=1, lc=:black)
plot!([7.5, 7.5], [1.5, 2.5], [2.0, 2.0], linewidth=1, lc=:black)
plot!([7.5, 6.5, 6.5, 7.5, 7.5, 7.5, 7.5, 6.5, 6.5, 7.5], [2.5, 2.5, 2.5, 2.5, 2.5, 3.5, 3.5, 3.5, 3.5, 3.5], [1.0, 1.0, 2.0, 2.0, 1.0, 1.0, 2.0, 2.0, 1.0, 1.0], linewidth=1, lc=:black)
plot!([6.5, 6.5], [2.5, 3.5], [1.0, 1.0], linewidth=1, lc=:black)
plot!([6.5, 6.5], [2.5, 3.5], [2.0, 2.0], linewidth=1, lc=:black)
plot!([7.5, 7.5], [2.5, 3.5], [2.0, 2.0], linewidth=1, lc=:black)

display(p)

当前绘图结果中轴长度比例失调,立方体看起来更像长方体,请问如何设置轴间距以获得更符合几何真实感的显示?

解决方案

在Plots.jl中,要让3D绘图保持真实几何比例,可通过以下两种方式设置:

  • 启用等比例轴
    在初始化绘图对象时添加aspect_ratio=:equal参数,强制三个坐标轴使用相同的比例。修改后的初始化代码如下:

    p = Plots.scatter(camera=(-240,10), legend=false, aspect_ratio=:equal)
    
  • 手动指定轴比例
    若需自定义比例关系,可传入三元组aspect_ratio=(1,1,1),同样能让立方体各边显示一致:

    p = Plots.scatter(camera=(-240,10), legend=false, aspect_ratio=(1,1,1))
    

也可在后续的plot!调用中补充设置:

plot!(aspect_ratio=:equal)

修改后,立方体的长宽高会按照真实几何比例显示,不会再呈现长方体的失真效果。


内容的提问来源于stack exchange,提问作者WaterDrop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 17:23:10