Python2.x中的matplotlib是否支持隐藏线删除?
我如何自己实现它?
这是另一篇文章中解决的另一个问题:How to obtain 3D colored surface via Python?
发布于 2016-02-24 14:44:30
我假设你所说的“隐藏”是指视图中表面补丁后面的线,例如,在绘图中的“山”后面。
使用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可能会覆盖这些值;我在交互模式下运行了此操作,但没有进行检查。)
https://stackoverflow.com/questions/24976784
复制相似问题