Python Matplotlib 3d:曲面不覆盖直线

Python Matplotlib 3d:曲面不覆盖直线,python,matplotlib,3d,Python,Matplotlib,3d,我画一个平面和一条横穿平面的线 import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.mplot3d.axes3d as p3 def plot_x_axis(ax): x = np.array([-1, 1]) y = np.array([0, 0]) z = np.array([0, 0]) ax.plot(x, y, z, color='green') def plo

我画一个平面和一条横穿平面的线

import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d.axes3d as p3

def plot_x_axis(ax):
    x = np.array([-1, 1])
    y = np.array([0, 0])
    z = np.array([0, 0])
    ax.plot(x, y, z, color='green')

def plot_yz_plane(ax):
    a = np.array([0, 1, 0])
    b = np.array([0, 0, 1])
    U, V = np.meshgrid(np.linspace(-0.5, 0.5, 3), np.linspace(-0.5, 0.5, 3))
    x = a[0] * U + b[0] * V
    y = a[1] * U + b[1] * V
    z = a[2] * U + b[2] * V
    surf = ax.plot_surface(x, y, z, rstride=1, cstride=1, alpha=1.0, color='red')

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
plot_x_axis(ax)
plot_yz_plane(ax)
plt.show()

我希望这条线的一部分(放置在平面后面)将被平面覆盖,但实际上matplotlib显示所有对象,就好像平面是透明的一样。如何解决此问题?

据我所知,使用
matplotlib
是不可能的。我想录一个动画,显示一个移动的庞加莱平面,有一些坐标系,描述,向量场,相位轨迹等等。。。在OpenGL中绘制所有内容看起来有点乏味。我正在为这个寻找一个简单的图书馆。据我所知,维斯比不允许录制视频。此外,Mayavi的用户界面有点奇怪。VisPy需要编写着色器。你能给我一个我正在找的图书馆吗?对不起,我不能再帮你了
Mayavi
可以在脚本中使用,通过保存图形,我制作了与matplotlib类似的视频。对于3D图形来说,它要好得多。您需要使用
mlab.savefig(文件名)
将输出写入文件,并使用类似
ffmeg的内容制作视频
Mayavi
使用管道,一开始有点奇怪,但你可以做你需要的事情,例如,对于向量,你可以使用
mlab.pipeline.vector_字段(你的数据)