解决⽅案:pythonFuncAnimation⽆法显⽰动画前⾔
今天早上花了半个⼩时研究了⼀下FuncAnimation这个函数,在此记录。
环境
Spyder
Win10
问题
我的代码:
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import numpy as np
fig,ax=plt.subplots()
a=[1,2,3,1,6,9,4,6,21,41,12]
b=[2,4,1,6,9,5,7,0,3,5,2]
xdata, ydata=[], []
ln, = ax.plot([], [])
def init():
ax.set_xlim(1,45)
ax.set_ylim(0,10)
return ln,
def updata(i):
i=int(i)
xdata.append(a[i])
spyder python下载ydata.append(b[i])
ln.set_data(xdata,ydata)
return ln,
ani =FuncAnimation(fig, updata,frames=np.linspace(0,10,11),init_func=init,blit=True)
plt.show()
在spyder中运⾏,输出:
解决⽅案
我猜测:
这是因为在控制台中,是没法显⽰动图的。
我应该把图形绘制放到控制台(console)外⾯,即放到独⽴窗⼝中。
设置如下:
最上⽅菜单栏Tools -> Preference -> IPython Console -> Graphics,将Backend处的Inline设置成Qt5.点击OK。
然后最上⽅菜单栏Consoles -> Restart kernel(即,重启⼀下控制台)
这时候再运⾏同样的代码,就可以显⽰动画了。
其他
在此过程中参考了⼀些FuncAnimation 的资料 (如FuncAnimation 函数的参数) 。这⾥就不赘述了。
参考⽂献

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。