matplotlib plot_surface,如何使值/表面交叉显示?

时间:2013-07-08 03:59:35

标签: python matplotlib

我正在使用plot_surface创建以下图表

    surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.jet,
        linewidth=0, antialiased=True, shade=False)

enter image description here

我希望能够添加一些z轴零平面与曲面相交的指示。这就是表面上的每个点Am3 + Ae3 = 0或最接近的Am3 + Ae3 = 0.

是否有一些函数可以在matplotlib中执行此操作,或者某些方法可以使cmap在该零值周围显示非常明确的黑色?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

你已经达到了matplotlib的限制,它会在图层中绘制,因此你不能自动在3D中使用表面交叉。你可以手工伪造它(参见How to draw intersecting planes?)或者使用enthought中的mayavi(这是基于openGL的并且是'真正的'3D渲染)

你绝对可以用彩色地图来做这件事,但需要做一些工作(见stacking colormaps)。