http://blog.csdn.net/pipisorry/article/details/40662397

Mayavi的安装

mayavi已经支持python3了:Done, supports 2.5, 2.6, 2.7 and 3.2+

下载安装依赖vtk

linux下:sudo apt-get install python-vtk(lz未测试过)
windows下pip安装:
(lz是在mingw下操作的,cmd也同样)
下载并安装win编译好版本(支持python3),如VTK-7.0.0-cp34-cp34m-win_amd64.whl
$python -m pip install --upgrade pip
$pip install VTK-7.0.0-cp34-cp34m-win_amd64.whl
$python
>>>import vtk
或者也可以在vtk官网下载并安装Standalone Python Interface (Installer),如vtkpython-7.0.0-Windows-64bit.exe(lz发现安装后好像只支持python2?)

下载安装mayavi

window下pip安装:
下载win编译好版本,如mayavi-4.4.4-cp34-cp34m-win_amd64.whl
pip install mayavi-4.4.4-cp34-cp34m-win_amd64.whl
$python
>>>import mayavi
[mayavi doc: installation]

import

如果是直接安装的from mayavi import mlab
通过enthought安装的:from enthought.mayavi import mlab

运行时可能的错误及解决

from mayavi import mlab

ImportError: No module named 'tvtk.custom.light'
RuntimeError: module compiled against API version a but this version of numpy is 9
ImportError: numpy.core.multiarray failed to import
解决:pip install --upgrade numpy
从numpy 1.9更新到了1.11

from scipy import stats

from ._ufuncs import *
ImportError: DLL load failed: The specified module could not be found.
重装numpy和scipy[linux和windows下安装python拓展包]

pl = mlab.surf(x, y, rv.pdf(pos))

ImportError: Could not import backend for traits
Also make sure that either wxPython or PyQT is installed.
而wxpython不支持python3,lz已放弃,转向matplotlib.mplot3d.[三维绘图之matplotlib.mplot3d工具包]

皮皮blog

Mayavi.mlab模块绘制3D曲面

NumPy快速产生能进行广播运算的数组的ogrid对象

>>> x,y = np.ogrid[:5,:5]
>>> x
array([[0], [1], [2], [3], [4]])
>>> y
array([[0, 1, 2, 3, 4]])

mgrid对象的用法和ogrid对象类似,但是它所返回的是进行广播之后的数组。请读者运行“np.mgrid[:5,:5]”试试看。

ogrid是一个很有趣的对象,它和多维数组一样,用切片元组作为下标,返回的是一组可以用来广播计算的数组。其切片下标有两种形式:

  • 开始值:结束值:步长,和“np.arange(开始值, 结束值, 步长)”类似

  • 开始值:结束值:长度j,当第三个参数为虚数时,它表示所返回的数组的长度,和“np.linspace(开始值, 结束值, 长度)”类似:

    >>> x, y = np.ogrid[:1:4j, :1:3j]
    >>> x
    array([[ 0.        ],
           [ 0.33333333],
           [ 0.66666667],
           [ 1.        ]])
    >>> y
    array([[ 0. ,  0.5,  1. ]])
    

利用ogrid的返回值,我们能很容易计算二元函数在等间距网格上的值。

皮皮blog

Mayavi.mlab绘图实例

绘制三维曲面

02-numpy/numpy_ogrid_mlab.py

用ogird产生二维坐标网格,计算三维空间的曲面,使用Mayavi的mlab模块快速绘制3D曲面

import numpy as np
from enthought.mayavi import mlabx, y = np.ogrid[-2:2:20j, -2:2:20j]
z = x * np.exp( - x**2 - y**2)pl = mlab.surf(x, y, z, warp_scale="auto")
mlab.axes(xlabel='x', ylabel='y', zlabel='z')
mlab.outline(pl)
mlab.show()


[使用ogrid创建的三维曲面]

from:http://blog.csdn.net/pipisorry/article/details/40662397

ref: mayavi doc

Mayavi2 tips

mayavi homepage

用python做科学计算:Mayavi-更方便的可视化

三维绘图之Mayavi.mlab相关推荐

  1. python画图三维-对python mayavi三维绘图的实现详解

    网上下载mayavi的官方帮助文档,里面有很多例子,下面的记录都是查看手册后得到的. python的mayavi.mlab库中的绘图函数有很多候选参数,但下文记录并没有过多讨论,本人也是需要用到才查看 ...

  2. python mayavi_python mayavi三维绘图

    网上下载mayavi的官方帮助文档,里面有很多例子,下面的记录都是查看手册后得到的. Python的mayavi.mlab库中的绘图函数有很多候选参数,但下文记录并没有过多讨论,本人也是需要用到才查看 ...

  3. mayavi.mlab鼠标交互选取

    mayavi.mlab鼠标交互选取 参考链接:科学计算三维可视化-Mlab基础(鼠标选取交互操作) mayavi.mlab官方例子:mlab: Python scripting for 3D plot ...

  4. Matplotlib三维绘图,这一篇就够了

    Matplotlib三维绘图,这一篇就够了 1. 效果图 1.1 3D线效果图 1.2 3D散点效果图 1.3 3D随机颜色散点效果图 1.4 3D散点不同mark点效果图 1.5 3D线框效果图 1 ...

  5. python画图三维-Python三维绘图之Matplotlib库的使用方法

    前言 在遇到三维数据时,三维图像能给我们对数据带来更加深入地理解.python的matplotlib库就包含了丰富的三维绘图工具. 1.创建三维坐标轴对象Axes3D 创建Axes3D主要有两种方式, ...

  6. python画三维平面-Python三维绘图--Matplotlib

    编辑推荐: 本文主要介绍如何用python的matplotlib库中丰富的三维绘图工具进行绘图,运用三维图给我们对数据带来更加深入地理解,希望对大家有帮助. 本文来自于csdn ,由火龙果软件Alic ...

  7. 成功解决采用ax.bar进行三维绘图绘制柱状图的时候,横坐标只显示三列而不是数据中的四列

    成功解决采用ax.bar进行三维绘图绘制柱状图的时候,横坐标只显示三列而不是数据中的四列 目录 解决问题 解决思路 解决方法 解决问题 输入数据为四列五行,如下所示: labelX_lists02= ...

  8. 地图画指定区域_零基础学CAD绘制一张桌子为例,使亲们更好地熟悉三维绘图环境...

    嘉灏今天分享第十课零基础学零基础学CAD绘制一张桌子为例,使亲们更好地熟悉三维绘图环境的知识了解,有视频课程,亲们可以看视频教程,再次感谢大家的支持与信任. 桌子 BOX(命令) 创建三维实体长方体. ...

  9. matlab 三维 作图 坐标轴_MATLAB学习——MATLAB中的三维绘图指令

    2 基本XYZ立体绘图命令 mesh和plot是三度空间立体绘图的基本命令,mesh可画出立体网状图,plot则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色.下列命令可画出由函数 形成的立体 ...

  10. MATLAB学习笔记——二维和三维绘图

    MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...

最新文章

  1. 解题报告:Fake Maxpooling(单调队列求矩阵的和)
  2. python 简单数据库_Python打造一个简单的本地数据库
  3. 编辑器推荐KindEditor
  4. 趣学python3(29)-集合set
  5. Eclipse中如何恢复已删除文件
  6. Linux下axel多线程下载
  7. kafka相关知识点总结
  8. android button text属性中英文大小写问题
  9. Java对字符串进行的操作
  10. Visual Studio配置(4):项目属性页-VC++目录
  11. K3后台修改销售模块(销售订单、发货通知单、销售出库单)单价及金额语句
  12. Package php5 have no installation candidate解决方案
  13. 十五. Go学习:goroute和cahnnel
  14. 如何在开源世界打造自己的明星 Project?
  15. 分布式系统 服务 的稳定性
  16. Python格式化输出%.2f%%
  17. 一文学会回溯算法解题技巧
  18. 用Python获取照片GPS信息
  19. 机器人曲线插值拟合算法研究现状简述
  20. CSS复合选择器---后代选择器、子选择器、并集选择器、伪类选择器

热门文章

  1. Struts(一)struts2.2概述与MVC模式深度剖析
  2. 第一节:用Cube学32之简单IO口操作(点灯及按键)
  3. [双调]落梅风(寿阳曲).焰火似龙
  4. ZOJ 3605Find the Marble(dp)
  5. PKD-Bert:基于多层网络的Bert知识蒸馏
  6. 定了!这些高校已公布开学时间
  7. 介绍4个大神常用而你不常用的python函数
  8. 养成女友?我训练出了一个“杨超越”聊天机器人
  9. 每日算法系列【LeetCode 面试题 17.05】字母与数字
  10. PyTorch学习—13.优化器optimizer的概念及常用优化器