matplotlib.animation.FuncAnimation
- classmatplotlib.animation.FuncAnimation(fig, func, frames=None, init_func=None, fargs=None, save_count=None, *, cache_frame_data=True, **kwargs)[source]
-
Создаёт анимацию, многократно вызывая функцию func.
Примечание
Вы должны сохранить созданную анимацию в переменной, которая существует до тех пор, пока анимация должна работать. В противном случае объект Animation будет удалён сборщиком мусора, и анимация остановится.
- Параметры
-
-
fig
Figure -
Объект figure, используемый для получения необходимых событий, таких как рисование или изменение размера.
- funccallable
-
Функция, вызываемая на каждом кадре. Первый аргумент будет следующим значением в frames. Любые дополнительные позиционные аргументы можно передать через параметр fargs.
Требуемая сигнатура:
def func(frame, *fargs) -> iterable_of_artists
Если
blit == True, func должна возвращать итерируемый объект со всеми изменёнными или созданными художниками. Эта информация используется алгоритмом быстрой отрисовки для определения частей рисунка, которые необходимо обновить. Значение возврата не используется, еслиblit == Falseи может быть опущено в этом случае. - framesитерируемый объект, целое число, функция-генератор или None, необязательно
-
Источник данных для передачи func и каждого кадра анимации
- Если итерируемый объект, то просто используются предоставленные значения. Если у итерируемого объекта есть длина, она переопределит аргумент save_count.
- Если целое число, то эквивалентно передаче
range(frames) -
Если функция-генератор, то должна иметь сигнатуру:
def gen_function() -> obj
- Если None, то эквивалентно передаче
itertools.count.
Во всех этих случаях значения в frames просто передаются в предоставленную пользователем функцию func, и поэтому могут быть любого типа.
- init_funccallable, необязательно
-
Функция, используемая для отрисовки чистого кадра. Если не задана, результат отрисовки из первого элемента последовательности кадров будет использован. Эта функция вызывается один раз перед первым кадром.
Требуемая сигнатура:
def init_func() -> iterable_of_artists
Если
blit == True, init_func должна возвращать итерируемый объект с художниками, которые нужно перерисовать. Эта информация используется алгоритмом быстрой отрисовки для определения частей рисунка, которые необходимо обновить. Значение возврата не используется, еслиblit == Falseи может быть опущено в этом случае. - fargsкортеж или None, необязательно
-
Дополнительные аргументы для передачи в каждый вызов func.
- save_countцелое число, по умолчанию: 100
-
Значение по умолчанию для количества значений из frames для кеширования. Это используется только в случае, если количество кадров нельзя определить из frames, т.е. когда это итератор без длины или генератор.
- intervalцелое число, по умолчанию: 200
-
Задержка между кадрами в миллисекундах.
- repeat_delayцелое число, по умолчанию: 0
-
Задержка в миллисекундах между последовательными запусками анимации, если repeat равно True.
- repeatbool, по умолчанию: True
-
Определяет, повторяется ли анимация при завершении последовательности кадров.
- blitbool, по умолчанию: False
-
Определяет, используется ли быстрая отрисовка для оптимизации рисования. При использовании быстрой отрисовки любые анимированные художники будут отрисовываться в соответствии с их z-порядком; однако, они будут отрисовываться поверх любых предыдущих художников, независимо от их z-порядка.
- cache_frame_databool, по умолчанию: True
-
Определяет, кешируются ли данные кадра. Отключение кеша может быть полезно, когда кадры содержат большие объекты.
-
fig
- __init__(fig, func, frames=None, init_func=None, fargs=None, save_count=None, *, cache_frame_data=True, **kwargs)[source]
Методы
__init__(fig, func[, frames, init_func, ...])Возвращает новую последовательность информации о кадре.
Возвращает новую последовательность сохранённой/кешированной информации о кадре.
pause()Пауза анимации.
resume()Возобновить анимацию.
save(filename[, writer, fps, dpi, codec, ...])Сохранить анимацию в виде файла видео, рисуя каждый кадр.
to_html5_video([embed_limit])Преобразовать анимацию в HTML5
<video>тег.to_jshtml([fps, embed_frames, default_mode])Создать HTML-представление анимации.
- new_frame_seq()[source]
-
Возвращает новую последовательность информации о кадре.
- new_saved_frame_seq()[source]
-
Возвращает новую последовательность сохранённой/кешированной информации о кадре.
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/_as_gen/matplotlib.animation.FuncAnimation.html