Попробуйте это. В основном это позволяет использовать FuncAnimation для обновления гистограммы. Просмотрите документацию по анимации , чтобы узнать больше о различных параметрах этой функции, чтобы контролировать скорость обновления и тому подобное.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
n = 100
number_of_frames = 10
data = np.random.rand(n, number_of_frames)
def update_hist(num, data):
plt.cla()
plt.hist(data[num])
fig = plt.figure()
hist = plt.hist(data[0])
animation = animation.FuncAnimation(fig, update_hist, number_of_frames, fargs=(data, ) )
plt.show()
Что мы здесь делаем, это вызов function update_hist
, которая обрабатывает обновление гистограммы и отображение новых данных на каждом шаге. Мы делаем это, очищая ось и затем индексируя в наши данные с предоставленным num
, который является текущим номером кадра.