Я новичок и пытаюсь понять основы 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 делает это автоматически?
Спасибо!