Я учусь работать с функцией анимации matplotlib. Я взял учебник из matplotlib и немного изменился. Пока что я могу показать свой полный массив (список) длиной 10. (см. Код)
Моя цель - видеть в каждом кадре только, например, 3 значения из массива одновременно. В следующем кадре «окно» должно скользить с размером шага 1 индекса, чтобы «старые» значения переместились влево, а справа - «более новые» значения:
1-й кадр - см. Список значений [3], список [2], список [1] из массива
2-й кадр - см. Список значений [4], список [3], список [2] из массива
3-й кадр - см. Список значений [5], список [4], список [3] из массива
....
Базовый код из учебника matplotlib, немного измененный, чтобы показать мой полный массив (список), но без обновления.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots()
list = np.array([1,8,3,4,5,3,2,1,5,1])
line, = ax.plot(np.random.rand(10))
ax.set_ylim(0, 10)
def update(data):
line.set_ydata(data)
return line,
def data_gen():
while True:
#yield np.random.rand(4)
yield list
ani = animation.FuncAnimation(fig, update, data_gen, interval=500)
plt.show()
Я не знаю, как я могу «сдвинуть» свое окно и затем обновить анимацию. Вероятно, с циклом for над индексом кадров, я думаю ...?
Какая переменная состоит из индекса фреймов?
Огромное спасибо за ваше время. Хороших выходных!