怎么在python中使用mayavi实现三维绘图

  介绍

这期内容当中小编将会给大家带来有关怎么在python中使用mayavi实现三维绘图、文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

python主要用来做什么

python主要应用于:1,网络开发;2、数据科学研究;3,网络爬虫;4、嵌入式应用开发,5日游戏开发;6桌面应用开发。

, import  mayavi.mlab  as  mlab   得到才能numpy  import  exp,罪恶,因为,棕褐色,随机的,mgrid, ogrid linspace,倍根号,π   import 才能;numpy  as  np   import 才能;matplotlib.pyplot  as  plt   mlab.figure才能(fgcolor=(0, 0, 0),,背景=(1,1,1)),#更改背景色   #才能添加matlab的山峰函数   def 才能;峰值(x, y):   ,,,return  3.0 * (1.0 - x) * * 2 * exp () (x * * 2),安康;(y + 1.0) * * 2),安康;10 * (x/5.0,安康;x * * 3,安康;y * * 5), *, exp (- x * * 2 y * * 2),背后,1.0/3.0 * exp (- (x + 1.0) * * 2,安康;y * * 2)

首先从帮助手册上了解下mayavi的colormap,如下图:

怎么在python中使用mayavi实现三维绘图

下面列举常用的三维绘图函数和简单例子。

<强>一、柱形图表

*柱形图表(年代,…)
*柱形图表(x, y,年代,…)
*柱形图表(x, y, f,…)
*柱形图表(x, y, z s…)
*柱形图表(x, y, z, f,…)

如果只传递一个参数,可以是一维(一维),二维(2 d)或三维(3 d)的给定向量长度的数组;

如果传递三个参数(x, y, s)或(x, y, f), x, y是对应于数组s的二维(2 d)坐标,也可以是可调用的函数f,该函数返回数组;

四个参数的时候(x, y, z)表示三维坐标

,, s =, np.random.rand (3、3)   mlab.barchart才能(s)   mlab.vectorbar才能()   mlab.show才能()

怎么在python中使用mayavi实现三维绘图

, x, y =, np.mgrid [5:5:20j 5:5:20j]   s 才能=,山峰(x, y),,, #山峰函数前面已经定义   mlab.barchart才能(x, y, s)   mlab.vectorbar才能()   mlab.show才能()

怎么在python中使用mayavi实现三维绘图

<强>二,contour3d

* contour3d(标量,…)
* contour3d (x, y, z,标量,…)
* contour3d (x, y, z, f,…)

标量是三维数组(3 - d), x, y, z用numpy。mgrid生成,是三维数组

,, x,, y,, z =, ogrid [5:5:64j, 5:5:64j,, 5:5:64j]   时间=scalars 才能;x  *, x  *, 0.5, +, y  *, y  +, z  *, z  2.0 *,   mlab.contour3d才能(标量,轮廓=6,透明=True)   mlab.colorbar才能()   mlab.show才能()

怎么在python中使用mayavi实现三维绘图

<强>三,contour_surf

* contour_surf(年代,…)
* contour_surf (x, y,年代,…)
* contour_surf (x, y, f,…)

s是二维数组,f是可调用的函数,例如山峰函数

x和y可以是一维或二维数组(如由numpy返回。ogrid或numpy.mgrid)

,, x, y =, np.mgrid [5:5:70j 5:5:70j]   #才能绘制山峰函数的等高线   mlab.contour_surf才能(x, y,山峰,轮廓=9)   mlab.colorbar才能()   mlab.show才能()

怎么在python中使用mayavi实现三维绘图

<强>四,imshow

* imshow(年代,…)

s  is  a  2, dimension 数组只,values  of  s 断开连接;mapped 用a  color  using 从而colormap。      时间=s 才能;np.random.rand(3、3), #生成随机的3×3数组   mlab.imshow才能(s)   mlab.colorbar才能()   mlab.show才能()

怎么在python中使用mayavi实现三维绘图

<强>五、网

*网(x, y, z,…)

x, y, z是二维数组,所有相同的形状,表面的顶点的位置。

x, y, z都是二维数组,拥有相同的形状,而且z代表了平面坐标(x, y)对应下的值,下面绘制的是matlab的山峰函数三维图,可能是因为绘图比例的原因看起来并没有matlab下绘制的好看

,, y, x =, np.mgrid [5:5:70j 5:5:70j]   ,,z=山峰(x, y)   mlab.mesh才能(x, y, z)   mlab.colorbar才能()   mlab.show才能()

怎么在python中使用mayavi实现三维绘图