Mayavi, an application and library for interactive scientific data visualization and 3D plotting in Python.
Mayavi是一个用于交互式科学数据可视化和3D绘图的Python库。安装和调用指令如下:
pip install mayavi
from mayavi import mlab
Mayavi提供如下方法:
1. points3d:绘制3D点图形方法
points3d
基于Numpy数组$x$、$y$、$z$提供的三维点坐标,绘制点图形。函数形式如下:
x, y, z = np.mgrid[0:60:1, 0:60:1, 0:80:1]
points = mlab.points3d(x, y, z)
points = mlab.points3d(x, y, z, s)
points = mlab.points3d(x, y, z, f)
mlab.show()
Mayavi绘制3D点图形时,将每一个位置的数据点称作glyph,其参数说明如下:
x
、y
、z
:表示numpy数组、列表或者其他形式的点三维坐标;s
:表示在该坐标点处的标量值;f
:表示通过函数$f(x,y,z)$返回的标量值;extent
:定义输入数组范围$[xmin, xmax, ymin, ymax, zmin, zmax]$;name
:对象的名字;
下面的参数控制glyph的大小和形状:
resolution
:符号的分辨率,如球体的细分数,该值为整型,默认为$8$;scale_factor
:glyph放缩的比例;scale_mode
:glyph的放缩模式,如vector和scalar按照数值大小放缩、none表示同步放缩;mode
:每一个glyph的形状,例如sphere、cube、2darrow、2dcircle、arrow、cone等;reset_zoom
:对新加入场景数据的放缩进行重置,默认为True;
下面的参数控制画图的颜色:
color
:定义对象的颜色,定义为$(0,1)$的三元组;colormap
:定义对象的颜色类型,例如Reds、Blues、Copper、jet;vmax
:对colormap放缩的最大值;vmin
:对colormap放缩的最小值;
下面的参数控制画图的透明度:
mask_points
:降低大规模点数据集的数量;opacity
:对象的整体透明度,该值为float型,默认为$1.0$;transparent
:根据标量值确定actor的透明度;
也可以使用下面语句查询函数功能:
help(mlab.points3d)