国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

對python mayavi三維繪圖的實現詳解

2020-02-16 00:30:53
字體:
來源:轉載
供稿:網友

網上下載mayavi的官方幫助文檔,里面有很多例子,下面的記錄都是查看手冊后得到的。

http://code.enthought.com/projects/mayavi/docs/development/latex/mayavi/mayavi_user_guide.pdf

python的mayavi.mlab庫中的繪圖函數有很多候選參數,但下文記錄并沒有過多討論,本人也是需要用到才查看手冊的。

安裝好mayavi2的繪圖環境后,可以結合numpy進行科學繪圖,在代碼中事先加入如下代碼:

  import mayavi.mlab as mlab  from numpy import exp,sin,cos,tan,random,mgrid,ogrid,linspace,sqrt,pi  import numpy as np  import matplotlib.pyplot as plt  mlab.figure(fgcolor=(0, 0, 0), bgcolor=(1, 1, 1)) #更改背景色  #添加matlab的peaks函數  def peaks(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三維繪圖

下面列舉常用的三維繪圖函數和簡單例子。

一、barchart

* barchart(s, ...)
* barchart(x, y, s, ...)
* barchart(x, y, f, ...)
* barchart(x, y, z, s, ...)
* barchart(x, y, z, f, ...)

如果只傳遞一個參數,可以是一維(1-D),二維(2-D)或3維(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 = peaks(x,y)   #peaks函數前面已經定義  mlab.barchart(x,y,s)  mlab.vectorbar()  mlab.show()

python mayavi三維繪圖

二、contour3d

* contour3d(scalars, ...)
* contour3d(x, y, z, scalars, ...)
* contour3d(x, y, z, f, ...)

scalars是三維數組(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(scalars, contours=6, transparent=True)  mlab.colorbar()  mlab.show()

python mayavi三維繪圖

三、contour_surf

* contour_surf(s, ...)
* contour_surf(x, y, s, ...)
* contour_surf(x, y, f, ...)

s是二維數組,f是可調用的函數,例如peaks函數

x and y can be 1D or 2D arrays (such as returned by numpy.ogrid or numpy.mgrid)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 信阳市| 玉溪市| 池州市| 镇安县| 扶沟县| 荔浦县| 吉林省| 自贡市| 英吉沙县| 邵东县| 黄石市| 来凤县| 济南市| 徐水县| 齐河县| 泰来县| 右玉县| 长宁县| 中西区| 石狮市| 通江县| 安龙县| 塔城市| 鄯善县| 上高县| 招远市| 黄石市| 利辛县| 惠来县| 衡南县| 怀来县| 龙门县| 翁牛特旗| 团风县| 甘南县| 抚顺市| 桑植县| 莎车县| 嘉峪关市| 滨州市| 浦江县|