看起来好像matplotlib.tri.Triangulation
使用了一个有缺陷的、可能不正确的Delaunay三角剖分实现,该实现将被qHull所取代。
我试图使用mpl_toolkits.mplot3d.plot_trisurf()
绘制一个trisurf,遇到了一堆没有帮助的异常(主要是IndexError
和KeyError
,没有指出到底是什么地方出了问题)。
由于scipy.spatial.Delaunay
已经使用了qHull,我想知道是否有一种方法可以使用scipy的Delaunay三角剖分实现来构建一个matplotlib.tri.Triangulation
对象,以便与mpl_toolkits.mplot3d.plot_trisurf()
一起使用。
我尝试过通过triangles
参数将delaunay.points
直接传递给matplotlib.tri.Triangulate
,但结果是ValueError: triangles min element is out of bounds
。
2条答案
按热度按时间oxf4rvwz1#
http://docs.scipy.org/doc/scipy-0.13.0/reference/generated/scipy.spatial.Delaunay.htmlhttp://matplotlib.org/dev/api/tri_api.html显示器
因此,您需要将点和三角形从qhull传递到
Triangulation
构造函数:输出(使用matplotlib当前主文件):
c2e8gylq2#
@Marco很想知道如何在二维数组中运行这个函数。我希望这会有用。根据坐标的顶点列表应该做成一个数组,并且可以使用mtri. Triangulation进行镶嵌。示例代码如下: