gpt4 book ai didi

python - Matplotlib 3D plot zorder 问题

转载 作者:太空狗 更新时间:2023-10-29 21:09:55 32 4
gpt4 key购买 nike

我有一个由蓝色表面(通过 plot_surface 绘制)和红色球体(通过 scatter 绘制)组成的图。表面的 zorder 设置为 0,球体的 zorder 设置为 1(尽管不设置任何 zorder 值会产生相同的结果)。

您可以看到红色球体位于表面的左侧: enter image description here

当我旋转绘图时,您可以看到红色球体开始消失在蓝色表面后面即使它在它前面:

enter image description here

直到红色球体完全消失: enter image description here

奇怪的是,对于某些角度/ View ,红色球体会重新出现并再次可见,例如: enter image description here

这是怎么回事?我已经阅读了其他一些与绘图/zorder 相关的问题,但我还没有看到这种类型的行为,其中一个对象明显在另一个对象的后面/前面,并且在大多数视角下都没有正确显示。

如果我使蓝色表面透明,当它在下面的图中消失时,您可以看到表面后面的红色球体(所以似乎绘图库实际上认为它在表面后面)。

最佳答案

这在 Matplotlib 1.5.3 (2016) 中仍然是一个问题。 @tacaswell(Matplotlib 开发人员的共同负责人)推荐的替代方法是使用 Mayavi 处理 3D 绘图,这在 Python 绘图库中相对独特,因为它不像许多其他项目那样使用 Matplotlib 作为后端(Pandas, Seaborn,ggplot)。

我能够使用 Homebrew 毫不费力地在 OSX 上安装 Mayavi和点子。

#/bin/bash
# vtk is a mayavi requirement
brew install vtk
pip install mayavi
# Port your matplotlib code to mayavi
# Profit...

关于python - Matplotlib 3D plot zorder 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23188561/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com