来自自定义名称空间的matplotlib.animation

时间:2020-09-08 15:01:03

标签: python matplotlib animation

我正在尝试从包含我正在使用的所有线对象的字典中运行matplotlibs动画, 这里是一个从http://jakevdp.github.io/blog/2012/08/18/matplotlib-animation-tutorial/-派生的最小示例,我只是将line对象替换为字典data["line"]

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


fig = plt.figure()
ax = plt.axes(xlim=(0, 4), ylim=(-2, 2))

data = {}

data["line"] = ax.plot([], [], lw=3)

def init():
    data["line"].set_data([], [])
    return data
def animate(i):
    x = np.linspace(0, 4, 1000)
    y = np.sin(2 * np.pi * (x - 0.01 * i))
    data["line"].set_data(x, y)
    return data

anim = FuncAnimation(fig, animate, init_func=init,
                               frames=200, interval=20, blit=True)

不幸的是,这导致了一条错误消息,这对我来说没有意义:

 Traceback (most recent call last):
  File "C:\Anaconda\envs\cora_work\lib\site-packages\matplotlib\cbook\__init__.py", line 224, in process
    func(*args, **kwargs)
  File "C:\Anaconda\envs\cora_work\lib\site-packages\matplotlib\animation.py", line 951, in _start
    self._init_draw()
  File "C:\Anaconda\envs\cora_work\lib\site-packages\matplotlib\animation.py", line 1704, in _init_draw
    a.set_animated(self._blit)
AttributeError: 'str' object has no attribute 'set_animated'

0 个答案:

没有答案