在 Mayavi 或 Matplotlib 中创建栅栏图

Creating a fence diagram in Mayavi or Matplotlib

使用 Matplotlib 制作了一些土壤的电阻率横截面,获得了这样的图片:

现在我想在 3D 中显示所有这些部分,以便更好地可视化现场电阻率的空间分布(即所谓的栅栏图)。我还想绘制在我的地块底部(比如在 XY 平面上)进行这些测量的站点的二维地图。 据我所知,这在 3D 中使用 Matplotlib 是不可行的(或者至少不方便),因此我决定切换到 Mayavi。 我的问题是:

  1. 是否可行地理参考栅格,然后使用 Mayavi 将它们正确放置在正确的(垂直)平面上(不一定平行于笛卡尔平面)? imshow() 有这个作用吗?
  2. 在 Mayavi 中的适当位置重新创建轮廓是否更好?如果是这种情况,我没有找到从非结构化数据创建轮廓的函数(输入图像是在 Matplotlib 中使用 tricontour/tricontourf 创建的)。考虑到非凸域,我认为在 scipy 中对结构化网格进行插值是行不通的。

好的,回答我自己的问题:

 mesh = mlab.triangular_mesh
 surf = mlab.pipeline.surface(mesh)

似乎可以胜任。 为了与之前的工作保持一致,适当屏蔽的三角剖分可以直接从 Matplotlib 导入。