如何在MayaVi中绘制类似Matplotlib的3D坐标轴

14 投票
1 回答
5221 浏览
提问于 2025-04-18 10:22

我想知道如何在MayaVi中制作一个合适的3D表面图坐标轴。我能做出来的坐标轴看起来像这样...

enter image description here

不过,如果我想做演示或者放在海报上,这样的坐标轴看起来就不太专业。

我希望坐标轴能像这样...

enter image description here

这样的坐标轴看起来更专业,也比MayaVi默认的坐标轴更容易阅读。

1 个回答

9

我也遇到过这个问题。
我想了个不太好的办法,就是不显示mayavi的坐标轴,而是自己用plot3d()画上我需要的坐标轴。

from mayavi import mlab
import numpy as np
xx = yy = zz = np.arange(-0.6,0.7,0.1)
xy = xz = yx = yz = zx = zy = np.zeros_like(xx)    
mlab.plot3d(yx,yy+lensoffset,yz,line_width=0.01,tube_radius=0.01)
mlab.plot3d(zx,zy+lensoffset,zz,line_width=0.01,tube_radius=0.01)
mlab.plot3d(xx,xy+lensoffset,xz,line_width=0.01,tube_radius=0.01)

现在你可以用text3d()来添加标签和注释。
虽然这个方法不太优雅,有点粗暴,但在紧急情况下还是能用的。

撰写回答