2016-11-23 44 views
1

我试图使用Mayavi的渲染体积Mayavi的无法呈现3D体积

from mayavi import mlab 
mlab.init_notebook() 
x, y, z = np.ogrid[-10:10:20j, -10:10:20j, -10:10:20j] 
s = np.sin(x*y*z)/(x*y*z) 
mlab.pipeline.volume(mlab.pipeline.scalar_field(s)) 

在jupyter笔记本测试下面的例子中,我接收到的错误:

Notebook initialized with x3d backend. 
--------------------------------------------------------------------------- AttributeError       Traceback (most recent call last) /Users/phan/anaconda/lib/python2.7/site-packages/IPython/core/formatters.pyc in __call__(self, obj) 
    309    method = get_real_method(obj, self.print_method) 
    310    if method is not None: 
--> 311     return method() 
    312    return None 
    313   else: 

/Users/phan/anaconda/lib/python2.7/site-packages/mayavi/tools/notebook.pyc in _repr_html_(self) 
    58   return scene_to_png(scene) 
    59  elif _backend == 'x3d': 
---> 60   return scene_to_x3d(scene) 
    61 
    62 

/Users/phan/anaconda/lib/python2.7/site-packages/mayavi/tools/notebook.pyc in scene_to_x3d(scene) 
    91  else: 
    92   url_base = "http://www.x3dom.org/download" 
---> 93  x3d_elem = _fix_x3d_header(ex.output_string) 
    94  html = ''' 
    95  %s 

/Users/phan/anaconda/lib/python2.7/site-packages/mayavi/tools/notebook.pyc in _fix_x3d_header(x3d) 
    70  rep += '>' 
    71 
---> 72  x3d = x3d.replace(
    73   '<X3D profile="Immersive" version="3.0">', 
    74   rep 

AttributeError: 'NoneType' object has no attribute 'replace' 

Out[39]: <mayavi.modules.volume.Volume at 0x132e605f0> 

我安装了Python 2.7, VTK 6.3,特征4.6在anaconda。

回答

1

你安装了x3d吗?要安装的延长,通过Mayavi的文档中给出的方法是

jupyter nbextension install --py mayavi --user 

(见http://docs.enthought.com/mayavi/mayavi/tips.html#using-mayavi-in-jupyter-notebooks)。

这应该解决这个问题。

+0

我和OP有同样的问题,它是特定于体绘制,其他绘图类型的工作。 (至少对我来说这不是一个扩展问题) – slund

+0

那是另一个问题。请打开一个专门的问题。 –