尊敬的 StackOverfloooow 成员您好,我无法理解 matplotlib 的 FuncAnimation 模块。你介意帮我一下吗?我有两个问题:
- 为什么 die
init
和animate
function 都需要在只回馈后使用逗号PLOT
? - 为什么我的代码不更新
time_text
?如果我让它在每个动画之后打印 t,我会在控制台中正确添加一个,但文本不会在情节中更新。
.
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import animation
fig = plt.figure()
sub = fig.add_subplot(111,xlim=(0, 10), ylim=(0, 1))
PLOT, = sub.plot([],[])
time_text = sub.text(1,1,"",transform = sub.transAxes, ha="right")
t = 0
def init():
PLOT.set_data([],[])
time_text.set_text("")
return PLOT,time_text
def animate(i):
global t
x = np.linspace(0,10,1000)
y = np.exp(- ((x-0.01*i)/(2))**2 )/np.sqrt(2*np.pi)
t += 1
PLOT.set_data(x,y)
time_text.set_text("time = "+str(t))
return PLOT, time_text
ani = animation.FuncAnimation(fig, animate, init_func=init, frames=2000, interval=20, blit=True)
plt.show()