Mayavi入门之mlab.points3d
1.安装
距离我之前的 Mayavi入门 的帖子差不多两年了,最近需要用到Mayavi来作图。因此重新安装一下(之前如果安装过想更新最新版本的话,最好卸载干净,不然会有各种想象不到的问题)
1. 安装python
2,安装PyQt5,事实上Mayavi官方说支持PyQt4,Pyside,Pyside2等UI框架
pip install PyQt5
3,安装Mayavi,最新的版本是4.7版本,pip如果下载速度慢,可以换豆瓣的源,方法见我之前的帖子。
pip install Mayavi
2.mlab.points3d 函数详解
mayavi.mlab.
points3d
(*args, **kwargs)
给定坐标绘制三维点图
points3d(x, y, z)
points3d(x, y, z, s, ...)
一般用以上两个函数格式,其中x,y,z是点的坐标可以是numpy数组或者lists。如果只给定坐标,画出来的点大小,颜色都相同。s数组大小与坐标相同,s的数值可以影响点的颜色和大小。
下面给出关键字参数:
以官网的例子说明:
1 import numpy as np 2 from mayavi import mlab 3 4 def test_points3d(): 5 t = np.linspace(0, 4 * np.pi, 20) 6 x = np.sin(2 * t) 7 y = np.cos(t) 8 z = np.cos(2 * t) 9 s = 2 + np.sin(t) 10 return mlab.points3d(x, y, z, s, colormap="copper", scale_factor=.25) 11 12 test_points3d() 13 mlab.show()
运行结果为
可以看到,每个点的颜色和大小都是因为s的影响,去掉s,得到默认的白色,和同样尺寸的小球。
scale_factor=.25,是控制球大小的参数,调整到0.5.
如果想用s控制点的颜色,而不改变球的大小,添加参数scale_mode
mlab.points3d(x, y, z, s, scale_mode="none", colormap="copper", scale_factor=.5)
colormap选项如下,可以随意调整
比如:colormap="spectral",会得到比较好看的图形。
默认是用“sphere”显示点,也可以调整参数mode改成其他的形状,比如mode=“cube”
其他的参数读者自行测试。