Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
mayavi-科学计算三维绘图
Apps Section
2830
views ·
5
replies ·
To
floor
Go
fuyao
deepin
2018-07-12 18:12
Author
本帖最后由 fuyao 于 2018-7-12 11:01 编辑
科学计算中一些简单的三维图可以用matplotlib画,但是复杂还是用mayavi来画,下面是安装mayavi时注意的问题:
系统:deepin15.6
python环境: Anaconda3-5.1.0-Linux-x86_64.sh; Python 3.6.4
1. 用conda install mayavi安装出现错误,因此我用pip安装。
2. pip install mayavi, 前面安装都比较正常,依赖的库比如vtk也都能正常安装。但是最后安装mayavi的时候出现下面错误:
running gen_docs
QXcbConnection: Could not connect to display
经过上网搜索发现,anaconda我用root安装到/opt/anaconda3下,我用xrdp远程登录deepin用的是自己的账户,在终端中su - 之后用root账号安装,QT环境可能出现了什么问题。之后我用root账号xrdp登录到deepin,然后再pip install mayavi,成功了。再python中import mayavi也没问题,下面测试一下mayavi绘图。
需要注意的是:mayavi是python import时的库名,而mayavi2是一个独立的程序,可以which mayavi2查看路径也可以直接运行。
3. 拿官方的一个demo测试:http://docs.enthought.com/mayavi/mayavi/mlab.html#a-demo
# Create the data.
from numpy import pi, sin, cos, mgrid
dphi, dtheta = pi/250.0, pi/250.0
[phi,theta] = mgrid[0:pi+dphi*1.5:dphi,0:2*pi+dtheta*1.5:dtheta]
m0 = 4; m1 = 3; m2 = 2; m3 = 3; m4 = 6; m5 = 2; m6 = 6; m7 = 4;
r = sin(m0*phi)**m1 + cos(m2*phi)**m3 + sin(m4*theta)**m5 + cos(m6*theta)**m7
x = r*sin(phi)*cos(theta)
y = r*cos(phi)
z = r*sin(phi)*sin(theta)
# View it.
from mayavi import mlab
s = mlab.mesh(x, y, z)
mlab.show()
Copy the Code
新建demo.py文件,将上面的内容放入其中,然后在终端python demo.py,下面是程序运行结果:
分辨率好低,应该是工作站的显卡太渣的缘故。。。
4. 之后打算将mayavi嵌入到pyqt5中,用于C++主程序生成数据的后处理部分,做出来之后再更新吧。
Reply
Like 0
Favorite
View the author
All Replies
successfully
deepin
2018-07-12 18:33
#1
给你一个赞
Reply
Like 0
View the author
h3l
deepin
2018-07-12 18:56
#2
这朵菊花很邪恶~~~~~~~~~~
Reply
Like 0
View the author
海天鹰
deepin
2018-07-12 20:40
#3
这个不错哦
Reply
Like 0
View the author
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2018-07-13 09:42
#4
希望能加入到QT!
Reply
Like 0
View the author
fuyao
deepin
2018-07-13 16:01
#5
berners 发表于 2018-7-13 01:42
希望能加入到QT!
mayavi基于vtk,vtk是C++写的,QT可以调用vtk
Reply
Like 0
View the author
Please
sign
in first
Featured Collection
Change
[Tutorial] deepin25 WSL Offline Installation Guide
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Ranking
Change
【Enhanced Repo】Better Deepin Repo is released
Popular Events
More
科学计算中一些简单的三维图可以用matplotlib画,但是复杂还是用mayavi来画,下面是安装mayavi时注意的问题:
系统:deepin15.6
python环境: Anaconda3-5.1.0-Linux-x86_64.sh; Python 3.6.4
1. 用conda install mayavi安装出现错误,因此我用pip安装。
2. pip install mayavi, 前面安装都比较正常,依赖的库比如vtk也都能正常安装。但是最后安装mayavi的时候出现下面错误:
running gen_docs
QXcbConnection: Could not connect to display
经过上网搜索发现,anaconda我用root安装到/opt/anaconda3下,我用xrdp远程登录deepin用的是自己的账户,在终端中su - 之后用root账号安装,QT环境可能出现了什么问题。之后我用root账号xrdp登录到deepin,然后再pip install mayavi,成功了。再python中import mayavi也没问题,下面测试一下mayavi绘图。需要注意的是:mayavi是python import时的库名,而mayavi2是一个独立的程序,可以which mayavi2查看路径也可以直接运行。
3. 拿官方的一个demo测试:http://docs.enthought.com/mayavi/mayavi/mlab.html#a-demo
分辨率好低,应该是工作站的显卡太渣的缘故。。。
4. 之后打算将mayavi嵌入到pyqt5中,用于C++主程序生成数据的后处理部分,做出来之后再更新吧。