我正在尝试从包含我正在使用的所有线对象的字典中运行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'