我是一名新手,正在尝试正确理解Python的基础知识。我正在尝试使用matplotlib.pyplot.subplots创建具有4个图的动画。每个图均值相同,但标准差不同。这是我的代码:
将numpy导入为np 将matplotlib导入为mlp 导入matplotlib.animation作为动画
n = 100
mn = 0
stdv = [1,2,3,4]
x = [np.random.normal(loc= mn, scale = stdv[0], size = n ),
np.random.normal(loc= mn, scale = stdv[1], size = n ),
np.random.normal(loc= mn, scale = stdv[2], size = n ),
np.random.normal(loc= mn, scale = stdv[3], size = n )]
def anim_norm(i):
if (i == n):
b.event_source.stop()
plt.cla()
ax = [ax1,ax2,ax3,ax4]
for k in range((len(ax)+1)):
ax[k].set_title('S.D. = {}, n = {}'.format(stdv[k],i))
ax[k].set_xlabel('Value')
ax[k].set_ylabel('Frequency')
ax[k].hist(x[k][:i])
fig,((ax1,ax2),(ax3,ax4)) = plt.subplots(2,2, sharex = True)
b = animation.FuncAnimation(fig,anim_norm, interval = 300)
我所看到的是带有xlabel,ylabel和title以及第一帧的图。我将不胜感激。另外,我需要增加(i-帧数)还是FuncAnimation会自动增加?
谢谢!