如何在matplotlib mplot3D或类似文件中显示3D阵列等值面的3D图?

如何在matplotlib mplot3D或类似文件中显示3D阵列等值面的3D图?,第1张

如何在matplotlib mplot3D或类似文件中显示3D阵列等值面的3D图?

只是为了详细说明我在上面的评论,matplotlib的3D绘图实际上并不打算用于等值面之类的复杂对象。它的目的是为非常简单的3D图生成漂亮的,具有出版质量的矢量输出。它无法处理复杂的3D多边形,因此,即使您自己实施了行进立方体来创建等值面,也无法正确渲染该等值面。

但是,您可以做的是使用mayavi(它的mlab
API
比直接使用mayavi更加方便),它使用VTK处理和可视化多维数据。

作为一个快速示例(从mayavi gallery示例之一进行了修改):

import numpy as npfrom enthought.mayavi import mlabx, y, z = np.ogrid[-10:10:20j, -10:10:20j, -10:10:20j]s = np.sin(x*y*z)/(x*y*z)src = mlab.pipeline.scalar_field(s)mlab.pipeline.iso_surface(src, contours=[s.min()+0.1*s.ptp(), ], opacity=0.3)mlab.pipeline.iso_surface(src, contours=[s.max()-0.1*s.ptp(), ],)mlab.show()



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5601840.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存