我正在努力理解 surf 的真正工作原理以及如何在我的上下文中使用它的方法。我正在尝试使用 Mayavi 的 surf 来绘制 2D imshow() 的 3D 表示。我知道这是否是正确的路径,所以我也可以使用其他建议。
到目前为止,基本上我已经达到了这一点:数据是一个数组,其中包含与 x 和 y 坐标相对应的值。因此,数据的形状是 (50L, 50L) 并且每个元素对应于我的 50*50 元素对的值。
imshow(data, cmap=cm.jet, origin='upper', interpolation=None) # My 2D imshow... working fine here.
# Trying to have a 3D representation
nx = linspace(0, 4, 50)
ny = linspace(0, 4, 50)
x_3d, y_3d = meshgrid(nx, ny)
s = surf(x_3d, y_3d, data)
脚本启动时没有错误,但是我在 Mayavi 场景中没有任何可视化。
感谢您的帮助,如果有人对如何绘制 2D imshow 的 3D 表示有更好的建议,我也很乐意接受。