3. mlab基础
来源:互联网 发布:业务本软件 编辑:程序博客网 时间:2024/05/21 11:46
- mayavimlabshow
- 函数形式
- 实例代码
- Points3d
- 函数形式
- 参数意义
- 实例代码
- 运行结果
- plot3d
- 函数形式
- 参数意义
- 实例代码
- 运行结果
- imshow
- 函数形式
- 参数意义
- 实例代码
- 运行结果
- surf
- 函数形式
- 实例代码
- 运行结果
- contour_surf
- 实例代码
- 运行结果
- contour3d
- 函数形式
- 参数意义
- 实例代码
- 运行结果
- quiver3d
- 函数形式
- 参数意义
- 实例代码
- 运行结果
- 改变物体颜色
- 常见的colormaps
- 实例代码
- 运行结果
1. mayavi.mlab.show()
函数形式
mayavi.mlab.show(func = None, stop = False)
实例代码
官方文档
Here is a simple example demonstrating the use of show:
from mayavi import mlabmlab.test_contour3d()mlab.show()
You can stop interaction via a simple pop up UI like so:
mlab.test_contour3d()mlab.show(stop=True)
The decorator can be used like so:
@mlab.showdef do(): mlab.test_contour3d()do()
The decorator can also be passed the stop argument:
@mlab.show(stop=True)def do(): mlab.test_contour3d()do()
2. Points3d()
函数形式
points3d(x, y, z…)
points3d(x, y, z, s, …)
points3d(x, y, z, f, …)
参数意义
x,y,z
numpy数组、列表或者其他形式的点三维坐标 s
在该坐标点处的标量值 f
通过函数f(x,y,z)
返回的标量值 color
VTK对象的颜色,定义为(0,1)
的三元组 colormap
colormap
的类型,例如Reds
、Blues
、Copper
等 extent
x
、y
、z
数组范围[xmin, xmax, ymin, ymax, zmin, zmax]
figure
画图 line_width
线的宽度,该值为float
,默认为0.2
mask_points
减少/降低大规模点数据集的数量 mode
符号的模式,例如2darrow
、2dcircle
、arrow
、cone
等 name
VTK对象名字 opcity
Vtk对象的整体透明度,该值为float
型,默认为1.0
reset_zoom
对新加入场景数据的放缩进行重置。默认为True
resolution
符号的分辨率,如球体的细分数,该值为整型,默认为8
scale_factor
符号放缩的比例 scale_mode
符号的放缩模式,如vector
、scalar
、none
transparent
根据标量值确定actor的透明度 vmax
对colormap
放缩的最大值 vmin
对colormap
放缩的最小值实例代码
import numpy as npfrom mayavi import mlab# 建立数据t = np.linspace(0, 4 * np.pi, 20) # 0-4pi之间均匀的20个数x = np.sin(2 * t)y = np.cos(t)z = np.cos(2 * t)s = 2 + np.sin(t)# 对数据进行可视化points = mlab.points3d(x, y, z, s, colormap="Greens", scale_factor=.25)mlab.show()
运行结果
3. plot3d ()
函数形式
plot3d(x, y, z…)
plot3d(x, y, z, s, …)
参数意义
color
、colormap
、extent
、figure
、line_width
、name
、opacity
、representation
、reset_zoom
、transparent
、tube_radius
、tube_sides
、vmax
、vmin
参考上面表格。
x,y,z
numpy数组,或列表。给出了线上连续的点的位置 s
在该坐标点处的标量值 tube_radius
线管的半径,用于描述线的粗细 tube_sides
表示线的分段数,该值为整数,默认为6
实例代码
import numpy as npfrom mayavi import mlab# 建立数据n_mer, n_long = 6, 11dphi = np.pi / 1000.0phi = np.arange(0.0, 2 * np.pi + 0.5 * dphi, dphi)mu = phi * n_merx = np.cos(mu) * (1 + np.cos(n_long * mu / n_mer) * 0.5)y = np.sin(mu) * (1 + np.cos(n_long * mu / n_mer) * 0.5)z = np.sin(n_long * mu / n_mer) * 0.5# 对数据进行可视化l = mlab.plot3d(x, y, z, np.sin(mu), tube_radius=0.025, colormap='Spectral')mlab.show()
运行结果
4. imshow ()
函数形式
imshow(s, …)
参数意义
color
、colormap
、extent
、figure
、interpolate
、line_width
、name
、opacity
、reset_zoom
、transparent
、 vmax
、vmin
参考上面表格。
s
一个二维数组,s的值使用colormap被映射为颜色 interpolate
图像中的像素是否被插值,该值为布尔型,默认为True
实例代码
import numpyfrom mayavi import mlab# 建立数据s = numpy.random.random((10, 10))# 对数据进行可视化img = mlab.imshow(s, colormap='gist_earth')mlab.show()
运行结果
5. surf()
函数形式
surf(s, …)
surf(x, y, s,…)
surf(x, y, f,…)
s是一个高程矩阵,用二维数组表示。
实例代码
import numpy as npfrom mayavi import mlabdef f(x, y): return np.sin(x - y) + np.cos(x + y)x, y = np.mgrid[-7.:7.05:0.1, -5.:5.05:0.05]s = mlab.surf(x, y, f)mlab.show()
运行结果
contour_surf()
与Surf()类似,但求解的是等值线。
实例代码
import numpy as npfrom mayavi import mlabdef f(x, y): return np.sin(x - y) + np.cos(x + y)x, y = np.mgrid[-7.:7.05:0.1, -5.:5.05:0.05]con_s = mlab.contour_surf(x, y, f)mlab.show()
运行结果
6. contour3d()
函数形式
contour3d(scalars, …)
contour3d(x, y, z, scalars,…)
参数意义
x,y,z
三维空间坐标 scalars
网格上的数据,用三维numpy数组表示 contours
定义等值面的数量实例代码
import numpyfrom mayavi import mlabx, y, z = numpy.ogrid[-5:5:64j, -5:5:64j, -5:5:64j]scalars = x * x + y * y + z * zobj = mlab.contour3d(scalars, contours=8, transparent=True)mlab.show()
运行结果
7. quiver3d()
函数形式
quiver3d(u,v,w …)
quiver3d(x,y,z,u,v,w …)
quiver3d(x,y,z,f,…)
参数意义
u,v,w
用numpy数组表示的向量 x,y,z
表示箭头的位置 f
返回在给定位置(x,y,z)的(u,v,w)矢量实例代码
import numpy as npfrom mayavi import mlabx, y, z = np.mgrid[-2:3, -2:3, -2:3]r = np.sqrt(x ** 2 + y ** 2 + z ** 4)u = y * np.sin(r) / (r + 0.001)v = -x * np.sin(r) / (r + 0.001)w = np.zeros_like(z)obj = mlab.quiver3d(x, y, z, u, v, w, line_width=3, scale_factor=1)mlab.show()
运行结果
8. 改变物体颜色
colormap定义的颜色,也叫LUT。 LUT:Look Up Table。
常见的colormaps
=accent、flag、autumn、gist_earth、black-white、gist_gray、blue-red、gist_heat、blues、gist_ncar、bone、gist_rainbow、brbg、gist_stern、bugn、gist_yarg、bupu、gnbu、cool、gray、copper、greens、dark2、greys、hot、pubu、hsv、pubugn、jet、puor、oranges、purd、orrd、purples、paired、rdbu、pastel1、rdgy、pastel2、rdpu、pink、rdylbu、piyg、rdylgn、prgn、reds、prism、set1、set2、set3、spectral、spring、summer、winter、ylgnbu、ylgn、ylorbr、ylorrd
实例代码
import numpy as npfrom mayavi import mlab#建立数据x, y = np.mgrid[-10:10:200j, -10:10:200j]z = 100 * np.sin(x * y) / (x * y)# 对数据进行可视化mlab.figure(bgcolor=(1, 1, 1))surf = mlab.surf(z, colormap='cool')# 更新视图并显示出来mlab.show()
import numpy as npfrom mayavi import mlab# 建立数据x, y = np.mgrid[-10:10:200j, -10:10:200j]z = 100 * np.sin(x * y) / (x * y)# 对数据进行可视化mlab.figure(bgcolor=(1, 1, 1))surf = mlab.surf(z, colormap='cool')# 访问surf对象的LUT# LUT是一个255*4的数组,列向量表示RGBA,# 每个值的范围从0-255lut = surf.module_manager.scalar_lut_manager.lut.table.to_array()# 增加透明度,修改alpha通道lut[:, -1] = np.linspace(0, 255, 256)surf.module_manager.scalar_lut_manager.lut.table = lut# 更新视图并显示出来mlab.show()
运行结果
- 3. mlab基础
- 4. mlab控制函数
- 三维绘图之Mayavi.mlab
- 6. mlab管线控制函数
- python 安装mlab scipy windows
- 用heroku 和 mLab部署项目
- 使用Heroku+mLab 部署Node应用
- 使用heroku和mLab部署项目(Nodejs)
- ubuntu16.04安装mlab步骤及错误处理
- win10 Anaconda import mlab error :Invalid Qt API 'pyqt5', valid values are: 'pyqt' or 'pyside'
- Python 3.6.1 安装mlab 出现二进制和str文本格式转换问题
- java基础--1.基础-3.进制
- 3.ASP基础
- 3.JavaWeb基础 Scriptlet
- 3.hibernate基础配置
- 3.Python基础
- 3. SQL语言基础
- 3.Flask基础-2
- android6.0手机蓝牙与ble蓝牙模块通信
- 8月1日训练日记
- JS基础学习应用之ajax.js函数的封装
- 模仿手机QQ以视频流背景的登录界面
- Spring+Mybatis框架的简单搭建
- 3. mlab基础
- USACO 2017 US OPEN PLATINUM题目翻译(未完)
- spring框架基础学习
- 欢迎使用CSDN-markdown编辑器
- Spring:Looks like the Spring listener was not configured for your web app!
- 程序级的AOP到底好不好?
- Activity启动模式,任务栈以及taskAffinity属性
- 万头攒动火树银花之处不必找我。如欲相见,我在各种悲喜交集处,能做的只是长途跋涉的归真返璞。
- POI导出Excel表