Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何解决matplotlib动画中生成的索引错误?_Python_Python 3.x_Matplotlib_Matplotlib Animation - Fatal编程技术网

Python 如何解决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

我正在学习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 = [],[]
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请不要在同一篇文章中更改您的问题,因为这样用户的答案将无效。相反,发布一个单独的。