在python中设置3D绘图动画时遇到问题

在python中设置3D绘图动画时遇到问题,python,matplotlib,3d,jquery-animate,Python,Matplotlib,3d,Jquery Animate,我正在尝试在3D中设置曲线动画,但遇到了一些问题。我已经成功地在2D中设置了一些动画,所以我想我知道我在做什么。在下面的代码中,我以参数方式生成x、y和z值,使其成为螺旋线,并验证了我可以在3D中绘制完整的曲线。要设置曲线的动画,我尝试从仅绘制前两个数据点开始,然后使用FuncAnimation更新数据,以便绘制更大部分的数据。但正如我所说,它不工作的原因和我不知道为什么;我得到的只是前两个数据点的初始图。任何帮助都将不胜感激 import numpy as np import matplotl

我正在尝试在3D中设置曲线动画,但遇到了一些问题。我已经成功地在2D中设置了一些动画,所以我想我知道我在做什么。在下面的代码中,我以参数方式生成x、y和z值,使其成为螺旋线,并验证了我可以在3D中绘制完整的曲线。要设置曲线的动画,我尝试从仅绘制前两个数据点开始,然后使用FuncAnimation更新数据,以便绘制更大部分的数据。但正如我所说,它不工作的原因和我不知道为什么;我得到的只是前两个数据点的初始图。任何帮助都将不胜感激

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.animation as animation

t_max = 10
steps = 100
t = np.linspace(0, t_max, steps)
x = np.cos(t)
y = np.sin(t)
z = 0.1*t

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
line, = ax.plot(x[0:1], y[0:1], z[0:1])

def update(i):
    line.set_xdata(x[0:i])
    line.set_ydata(y[0:i])
    line.set_zdata(z[0:i])
    fig.canvas.draw()

ani = animation.FuncAnimation(fig, update, frames=t, interval=25, blit=False)
plt.show()

好吧,我终于成功了。我有一个愚蠢的错误(frames=t),但也发现需要在update函数中设置不同的数据。这是工作代码,以防有人感兴趣

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.animation as animation

t_max = 10
steps = 100
t = np.linspace(0, t_max, steps)
x = np.cos(t)
y = np.sin(t)
z = 0.1*t

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
line, = ax.plot([], [], [], lw=1)
ax.set_xlim(-1,1)
ax.set_ylim(-1,1)
ax.set_zlim(0,1)
plt.show()

def update(i):
    line.set_data(x[0:i], y[0:i])
    line.set_3d_properties(z[0:i])
    return

ani = animation.FuncAnimation(fig, update, frames=100, interval=10, blit=True)
plt.show()

什么是不工作?它会产生错误吗?还是空白绘图?没有错误,我只得到一个只包含前两个数据点(看起来不可见)的3D绘图。如果在“初始打印”命令中包含更多数据,则可以看到它正在打印初始数据。