我知道如何在mayavi中绘制数据网格的等高线:
from mayavi import mlab
mlab.contour3d(my_data_grid)
然而,我很好奇这个函数的另一个签名是什么:
mlab.contour3d(x, y, z, my_data_grid)
医生说:
如果传递4个数组(x, y, z,标量),则前3个数组给出箭头的位置,最后一个为标量值。
"箭头"是什么?我没有找到任何例子,当我试图用我的数据集调用它时,我得到一个段错误,所以无法测试。
编辑:现在我明白了mlab期望x, y和z的格式,我能够让它工作。然而,没有箭!
与其说是文档中的错误,不如说是描述函数的一种看似笨拙的方式。来自同一文档,contour3d
:
为作为参数提供的3D数据体绘制等值面
并且声明(持有我的):
x, y和z数组应该是由numpy生成的。mgrid, ,换句话说,它们是三维数组,其位置位于三维正交且间隔规则的网格上,空间上的近邻匹配数组中的近邻。函数建立一个标量场,假设点是规则间隔的。
"箭头"似乎是一种有点尴尬的方式来说明x
, y
和z
是
三维数组,其位置位于三维正交和规则上间隔的网格
与函数"构建标量场"作为一个等面,有效地"连接点(位置)"。