Matplotlib动画功能:绘制点但不绘制动画

时间:2019-03-01 04:07:32

标签: python python-3.x matplotlib

我正在用Python编写一个简短的脚本,该脚本应该绘制一系列分散的笛卡尔点,一次作为一个动画(即一帧是一个点,下一帧是另一个)。我正在使用matplotlib。

我的程序当前可以正确绘制,但是它会返回包含所有点的静态图,因此动画函数本身一定存在问题。

当我现在运行代码时,尽管返回了绘图,但仍收到AttributeError:'PathCollection'对象没有属性'set_data'。我尝试调整一些小东西,但通常该错误消息保持不变。预先谢谢你!

import matplotlib
from matplotlib import pyplot as plt
from matplotlib import animation 
import numpy as np

pole_list = [(1,2), (2,3), (3,3), (3,2), (3,1), (4,1), (3,1)] #arbitrary list of points

fig, ax = plt.subplots(1,1)
x_val = [x[0] for x in pole_list]
y_val = [x[1] for x in pole_list]
scatterplot = ax.scatter(x_val, y_val)
print(x_val, y_val)

def init():
    scatterplot.set_data([], [])
    return scatterplot,

def animate(i, x_val, y_val):
    scatterplot.set_data(x_val, y_val)
    return scatterplot,


animate = animation.FuncAnimation(fig, animate, fargs=(x_val,y_val), init_func=init, frames=8, interval=20, blit = True)
plt.show()

0 个答案:

没有答案