首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过matplotlib删除plot_wireframe中的隐藏线?

如何通过matplotlib删除plot_wireframe中的隐藏线?
EN

Stack Overflow用户
提问于 2014-07-27 08:30:23
回答 1查看 2K关注 0票数 2

Python2.x中的matplotlib是否支持隐藏线删除?

我如何自己实现它?

这是另一篇文章中解决的另一个问题:How to obtain 3D colored surface via Python?

EN

回答 1

Stack Overflow用户

发布于 2016-02-24 14:44:30

我假设你所说的“隐藏”是指视图中表面补丁后面的线,例如,在绘图中的“山”后面。

使用plot_surface而不是plot_wireframe

我用过

代码语言:javascript
复制
plot_wireframe(X, Y, Z, rstride=10, cstride=10)

要创建第一个和

代码语言:javascript
复制
plot_surface(X, Y, Z, rstride=10, cstride=10, color="white", shade=False, edgecolor="blue")

来创建第二个图。

如果你想把它和颜色映射结合在一起,你必须使用一些内部的东西。如果使用cmap参数对表面面进行颜色映射,Poly3DCollection.do_3d_projection的源代码最终会调用to_rgba(self._A)来计算面的颜色。将其重新映射到边缘颜色,您就可以开始了:

代码语言:javascript
复制
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可能会覆盖这些值;我在交互模式下运行了此操作,但没有进行检查。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24976784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档