如何在Julia的GLMakie中同时绘制线框球与散点并调整球心
GLMakie 合并散点与线框球体绘图及球体中心设置
核心问题解决
1. 合并绘图到同一画布
你之前的代码直接使用scatter!和wireframe!,但缺少初始的Figure和Axis对象。Makie中需要先创建绘图容器,再用带!的函数向已有容器添加元素,才能实现同图显示。
2. 正确设置Sphere的中心
Sphere的构造格式为Sphere(center_point, radius),其中Point3必须传入三个坐标值(x, y, z),比如Point3(1,5,0)代表球体中心位于x=1、y=5、z=0的位置。
完整示例代码
using GLMakie # 坐标数据 x = [0, 1] y = [0, 1] z = [0, 1] # 创建初始绘图容器(包含散点) fig, ax = GLMakie.scatter(x, y, z, markersize=[0.2, 0.0]) # 向同一轴添加线框球体:中心(1,5,0),半径2 wireframe!(ax, Sphere(Point3(1,5,0), 2), color=:blue) # 设置坐标轴范围 ax.limits = FRect3D([-5,-5,-5], [10,10,10]) # 显示绘图 display(fig)
代码说明
- 先通过
GLMakie.scatter创建Figure和Axis对象,后续用wireframe!(ax, ...)指定向该轴添加元素,确保散点与球体显示在同一图中。 Sphere(Point3(1,5,0), 2)明确指定了球体的中心坐标和半径,参数格式完全符合Makie的要求。- 直接设置
ax.limits比在wireframe!中传递参数更直观,能保证坐标轴范围覆盖所有绘图元素。
内容的提问来源于stack exchange,提问作者Marcelo Ferreira
相关产品推荐
相关产品推荐

