2017-02-21 97 views
2

我想用4個節點和3個邊畫很簡單圖:Mayavi的不畫線

from numpy import array, vstack 
    from mayavi import mlab 

    mlab.figure(1, bgcolor=(1, 0.9, 1)) 
    mlab.clf() 
    x = array([0, 3, 2, 3]) 
    y = array([0, 4, 5, 1]) 
    z = array([0, 0, 1, 1]) 
    color = array([0.1, 0.3, 0.5, 0.7]) 

    pts = mlab.points3d(x, y, z, 
         color, 
         scale_factor=1, 
         scale_mode='none', 
         colormap='Blues', 
         resolution=20) 

    edges = vstack([[0, 1], [0, 2], [0, 3]]) 
    pts.mlab_source.dataset.lines = edges 
    tube = mlab.pipeline.tube(pts, tube_radius=0.1, tube_sides=7) 
    mlab.pipeline.surface(tube, color=(0.8, 0.8, 0.8)) 
    mlab.show() 

它返回: mayavi graph fail

爲什麼邊緣缺失?

回答

2

Mayavi中有一個關於此的錯誤。它與VTK的非同步更改有關,因此有點難以查明。有在編寫Mayavi的GitHub上的討論https://github.com/enthought/mayavi/issues/388

的錯誤也顯示了與Mayavi的出現的protein.py例子,它是通過設置行後加入

pts.mlab_source.update() 

固定在那裏。它是固定在線爲例https://github.com/enthought/mayavi/commit/afb17fceafe787c8260ca7a37fbb3b8c2fbfd36c

使用修復程序並不適用於我雖然但你可以嘗試。

+0

謝謝,在我的情況下,它迫使管出現。 – nanenaro