Python 如何解决matplotlib动画中生成的索引错误?
我正在学习matplotlib中的动画工具,但在下面的代码中遇到了错误Python 如何解决matplotlib动画中生成的索引错误?,python,python-3.x,matplotlib,matplotlib-animation,Python,Python 3.x,Matplotlib,Matplotlib Animation,我正在学习matplotlib中的动画工具,但在下面的代码中遇到了错误 import matplotlib.pyplot as plt import matplotlib.animation as animation import numpy as np x = np.array([1,2,4,6,4]) y = np.array([2,5,4,7,9]) x_points, y_points = [],[] fig, ax = plt.subplots() xdata, ydata
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
x = np.array([1,2,4,6,4])
y = np.array([2,5,4,7,9])
x_points, y_points = [],[]
fig, ax = plt.subplots()
xdata, ydata = [],[]
line, = plt.plot([],[],'ro')
def init():
line.set_data([],[])
return line,
def animate(i):
x_points.append(x[i])
y_points.append(y[i])
line.set_data(x_points,y_points)
return line
ani = animation.FuncAnimation(fig,animate,init_func=init,
frames = 200,interval=500,blit=False)
plt.show()
我得到下面的错误。我如何解决它
IndexError: index 5 is out of bounds for axis 0 with size 5
列表x
和y
的帧太多(200
)。由于x
和y
的长度均为5
,因此可以将frames
参数设置为的最大值为5
:
ani = animation.FuncAnimation(fig, animate, init_func=init, frames=5, interval=500, blit=False)
为了详细说明,每个框架使用了
x
和y
列表的一个索引。谢谢您的回答。但我有一个新的错误。我的代码没有打印数据。@MonojitSarkar可能是一个单独的问题?是的,我已经编辑了这个问题。@MonojitSarkar请不要在同一篇文章中更改您的问题,因为这样用户的答案将无效。相反,发布一个单独的。