Python matplotlib中是否有类似深度缓冲区的内容?

Python matplotlib中是否有类似深度缓冲区的内容?,python,numpy,plot,matplotlib,Python,Numpy,Plot,Matplotlib,我正在尝试使用matplotlib绘制一些曲线。 但是,由于这些曲线在视口中相互重叠。 所以只有z-order在这里帮不上忙 我想知道matplotlib中是否有一个功能类似于深度缓冲区。 我正在策划类似的事情。 在3D空间中,红线不应该总是在顶部 您可以尝试使用fill\u-between功能手动为区域着色。看见 随机行走者示例: 我认为在matplotlib中执行此类操作很困难,因为它是一个具有一些3D打印功能的2D打印库。我推荐一些真正的3D绘图库,如visvis、mayavi、vpyt

我正在尝试使用matplotlib绘制一些曲线。
但是,由于这些曲线在视口中相互重叠。
所以只有z-order在这里帮不上忙

我想知道matplotlib中是否有一个功能类似于深度缓冲区。
我正在策划类似的事情。
在3D空间中,红线不应该总是在顶部


您可以尝试使用
fill\u-between
功能手动为区域着色。看见 随机行走者示例:


我认为在matplotlib中执行此类操作很困难,因为它是一个具有一些3D打印功能的2D打印库。我推荐一些真正的3D绘图库,如visvis、mayavi、vpython。例如,在visvis中,可以创建一条三维曲线,如:

import numpy as np
import visvis as vv
app = vv.use()

f = vv.clf()
a = vv.cla()

angle = np.linspace(0, 6*np.pi, 1000)
x = np.sin(angle)
y = np.cos(angle)
z = angle / 6.0
vv.plot(x, y, z, lw=10)

angle += np.pi*2/3.0
x = np.sin(angle)
y = np.cos(angle)
z = angle / 6.0 - 0.5
vv.plot(x, y, z, lc ="r", lw=10)

app.Run()

马亚维:

import numpy as np
from mayavi import mlab

angle = np.linspace(0, 6*np.pi, 1000)
x = np.sin(angle)
y = np.cos(angle)
z = angle / 6.0

mlab.plot3d(x, y, z, color=(1,0,0), tube_radius=0.1)

angle += np.pi*2/3.0
x = np.sin(angle)
y = np.cos(angle)
z = angle / 6.0 - 0.5
mlab.plot3d(x, y, z, color=(0,0,1), tube_radius=0.1)

mlab.axes()
mlab.show()


谢谢你的建议。我读了这一页,但它似乎不适合3D绘图。要想找到合适的填充区域几乎是不可能的。是的,这肯定会很痛苦。我想如果你真的想要它的话,它可以工作。是的,你说得对。我想我会找到解决办法的。这里使用python只是为了简单的测试。非常感谢!这正是我想要的。“我的3D绘图在某些视角下看起来不正确这可能是mplot3d最常见的问题…”