您好:尊敬的StackOverfloooow會員, 我無法理解matplotlib的FuncAnimation模塊。你介意幫我一下嗎?我有兩個問題:Python Matplotlib FuncAnimation
- 爲什麼雙雙殞命
init
和animate
功能需要只給PLOT
回來後一個逗號? - 爲什麼我的代碼不更新
time_text
?如果我在每次動畫之後都讓它打印出來,我會在控制檯中正確添加一個動畫,但文字不會在劇情中更新。
。
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()
好吧,我明白,非常感謝。關於逗號事件:例如,如果我完全省略了時間顯示並且只返回新的plotdata:'返回PLOT',那麼我得到一個錯誤。但是如果我返回'返回PLOT',它就會起作用。這是爲什麼? – throwaway17434
PLOT,解開'PLOT'中的內容。在控制檯上試試這個:'a,= [1]'。然後打印'a'。 –
好的,幫助,謝謝:) – throwaway17434