似乎最近总是在处理远程可视化的问题
首先应该像配置open3d一样完成x服务器的配置,这里给出我自己的链接。
这时候我们进行安装,给出官网链接
pip install mayavi
pip install PyQt5
不出意外的话,将会出意外。
会提示如下报错qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题
解决方法:
输出详细信息后,重新安装·sudo apt-get install libxcb-xinerama0·
测试代码
import numpy as np
from mayavi import mlab
t=np.linspace(0,4*np.pi,125)
x=np.sin(2*t)
y=np.cos(t)
z=2*t
u=4+np.sin(3*t)
v=3+2*np.cos(t)
w=2+2*t
s=2+np.sin(t/5)
points=mlab.points3d(x,y,z,s,colormap='jet',scale_factor=.25)
points=mlab.points3d(u,v,w,s,colormap='jet',scale_factor=.25)
mlab.show()
成功后将显示如下信息
一些讨论
- mayavi是基于qt平台的,因此需要下载pyqt的库,而pyqt5本身的x服务器功能有问题,因此才有了本篇的解决方案。
- matplotlib同理也是基于qt平台。而matplotlib在pip安装时不需要pyqt库,其本身就已经有了相关组件。因此对于matplotlib的远程可视化实际上在配置完成x服务器后就可以直接显示。但是当安装完毕pyqt后,其会显示与mayavi同样的报错。
- open3d与之不同,其是直接通过opengl协议调用gpu,因此也有了之前那一篇文章的解决方案。