【发布时间】:2014-12-09 20:09:09
【问题描述】:
我在 matplotlib FuncAnimation 中使用的函数有问题。
我知道这不是 100% 与 PlotAnimation 代码相关的。它与return 的工作方式更相关。无论如何,就这样吧:
我需要在同一张图中绘制几条线 - 但我事先不知道有多少条线。所以,我创建了一个这样的地块列表(称为lines):
fig = plt.figure()
ax = plt.axes(xlim=(0, 1), ylim=(0, 1), aspect='equal')
lines=[]
for i in range(len(disc)):
line, = ax.plot([], [], '-', lw=1.5)
lines.append(line)
假设len(disc) 等于或大于 3。如果我这样做:
def animate(i):
global disc
for i in range(len(disc)):
lines[i].set_data(disc[i].x, disc[i].y)
return line[0], line[1], line[2]
anim = animation.FuncAnimation(fig, animate, blit=True)
plt.show()
所有作品都完美无缺(除了如果len(disc) 大于 3,我会错过情节中的一些线条)。
但是,我事先并不知道len(disc)。所以,我的问题是:有没有办法使用类似的东西:
return lines
(或类似的东西;我知道上面的行不通),替换上面animate函数中的return语句?
【问题讨论】:
标签: python list animation matplotlib return