python 2.x中的matplotlib
是否支持隐藏行删除?
我如何自己实施?
这是另一个在此解决的帖子的问题: How to obtain 3D colored surface via Python?
答案 0 :(得分:2)
我假设“隐藏”是指视图中表面贴片后面的线条,例如图中“山丘”后面的线条。
使用plot_surface
代替plot_wireframe
:
我用过
plot_wireframe(X, Y, Z, rstride=10, cstride=10)
创建第一个和
plot_surface(X, Y, Z, rstride=10, cstride=10, color="white", shade=False, edgecolor="blue")
创建第二个图。
如果要将其与边缘的颜色映射相结合,则必须使用一些内部结构。如果您使用cmap
参数对曲面进行颜色映射,则Poly3DCollection.do_3d_projection
的源代码最终会调用to_rgba(self._A)
来计算面部颜色。将其重新映射为边缘颜色,你可以去:
surf = ax.plot_surface(X, Y, Z, rstride=2, cstride=2, shade=False, cmap="jet", linewidth=1)
surf.set_edgecolors(surf.to_rgba(surf._A))
surf.set_facecolors("white")
产生这个情节:
(您可能需要在第一次渲染过程后再次调用set_edgecolors
/ set_facecolors
,因为do_3d_projection
可能会覆盖这些值;我在交互模式下运行它并且没有检查过。)< / p>