当我尝试更新子图中的4个图时,Python FuncAnimation没有更新框架

时间:2018-08-29 23:35:00

标签: python animation

我是一名新手,正在尝试正确理解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会自动增加?

谢谢!

enter image description here

0 个答案:

没有答案