Matplotlib 数组不可iterable,但如何在zip()中用作参数?

Matplotlib 数组不可iterable,但如何在zip()中用作参数?,matplotlib,scikit-image,Matplotlib,Scikit Image,我想绘制DICOM扫描的三维可视化,但我被这个错误卡住了 我使用的是行进立方体法。首先从网格顶点和面返回,然后传递到plt_3d。导入的模块: 将numpy作为np导入 将pydicom作为pyd导入 导入操作系统 将matplotlib.pyplot作为plt导入 从全局导入全局 从mpl_toolkits.mplot3d.art3d导入Poly3DCollection 导入scipy.ndimage 从撇渣进口形态学 从脱脂进口措施 从skimage.transform导入调整大小 从skl

我想绘制DICOM扫描的三维可视化,但我被这个错误卡住了

我使用的是行进立方体法。首先从网格顶点和面返回,然后传递到plt_3d。导入的模块:

将numpy作为np导入

将pydicom作为pyd导入

导入操作系统

将matplotlib.pyplot作为plt导入

从全局导入全局

从mpl_toolkits.mplot3d.art3d导入Poly3DCollection

导入scipy.ndimage

从撇渣进口形态学

从脱脂进口措施

从skimage.transform导入调整大小

从sklearn.cluster导入KMeans

从plotly import版本

从plotly.offline导入下载\u plotlyjs,初始化\u笔记本\u模式,绘图,iplot

从plotly.tools将FigureFactory作为FF导入

从plotly.graph\u objs导入*

初始笔记本模式(已连接=真)

重映射后的imgs_是包含DICOM数据的像素阵列(3d)

def make_mesh(image, threshold=-300, step_size=1):
    p = image.transpose(2,1,0)
    verts, faces, norm, val = measure.marching_cubes_lewiner(p, threshold, 
step_size=step_size, allow_degenerate=True) 
    print(verts)
    return verts, faces
def plotly_3d(verts, faces):
    x,y,z = zip(*verts)
    fig = FF.create_trisurf(x=x,
                    y=y, 
                    z=z, 
                    plot_edges=False,
                    colormap=colormap,
                    simplices=faces,
                    backgroundcolor='rgb(64, 64, 64)',
                    title="Interactive Visualization")
    iplot(fig)
def plt_3d(verts, faces):

    print(“Drawing”)
    x,y,z = zip(*verts)
    fig = plt.figure(figsize=(10, 10))
    ax = fig.add_subplot(111, projection='3d')
    mesh = Poly3DCollection(verts[faces], linewidths=0.05, alpha=1)
    face_color = [1, 1, 0.9]
    mesh.set_facecolor(face_color)
    ax.add_collection3d(mesh)

    ax.set_xlim(0, max(x))
    ax.set_ylim(0, max(y))
    ax.set_zlim(0, max(z))
    ax.set_axis_bgcolor((0.7, 0.7, 0.7))
    plt.show()
v, f = make_mesh(imgs_after_resamp, 350)
new3d=np.vectorize(plt_3d)
new3d(v,f)
ValueError回溯(最近一次调用上次) 在里面 ---->1号地块(imgs-re,400)


TypeError:type object参数在*之后必须是一个iterable,而不是numpy。float32

能否提供(a)错误的完整回溯,(b)包含所有导入的完整代码,以及(c)一些示例数据?我无法通过查看此代码立即判断错误在何处。@Juan请您现在检查,如果缺少任何内容,请告诉我。您的代码中没有
plot\u ve
imgs\u re
,因此无法完全追溯。代码中的错误发生在哪里?您也没有提供示例数据…所谓“完全回溯”,我指的是错误消息的所有行,而不仅仅是最后1-2行。