Python FuncAnimation не обновляет фрейм, когда я пытаюсь обновить 4 графика в субплоте - PullRequest
0 голосов
/ 30 августа 2018

Я новичок и пытаюсь понять основы Python правильно. Я пытаюсь создать анимацию из 4 сюжетов, используя matplotlib.pyplot.subplots. Каждый график имеет одинаковое среднее значение, но различное стандартное отклонение. Вот мой код:

импорт numpy как np импорт matplotlib как млп импорт 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, заголовком и первым кадром. Буду признателен за любые рекомендации. Кроме того, мне нужно увеличить (я - количество кадров) или FuncAnimation делает это автоматически?

Спасибо!

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...