matplotlib.animation.FuncAnimation
- класс
matplotlib.animation.FuncAnimation(fig, func, frames=None, init_func=None, fargs=None, save_count=None, *, cache_frame_data=True, **kwargs)[source] -
Создаёт анимацию, многократно вызывая функцию func.
Примечание
Вы должны сохранить созданный объект анимации в переменной, которая существует до тех пор, пока анимация должна выполняться. В противном случае объект анимации будет удалён сборщиком мусора, и анимация остановится.
Параметры: -
fig
Figure -
Объект фигуры, используемый для получения необходимых событий, таких как отрисовка или изменение размера.
- funcвызываемая функция
-
Функция, вызываемая на каждом кадре. Первым аргументом будет следующее значение в 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_funcвызываемая функция, необязательно
-
Функция, используемая для отрисовки чистого кадра. Если не указана, используются результаты отрисовки из первого элемента последовательности frames. Эта функция будет вызвана один раз перед первым кадром.
Необходимая сигнатура:
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
-
Определяет, используется ли кэширование для оптимизации отрисовки. При использовании кэширования все анимированные объекты графики будут отрисовываться в соответствии с их zorder; однако они будут нарисованы поверх предыдущих объектов, независимо от их zorder.
- cache_frame_databool, по умолчанию: True
-
Определяет, кэшируются ли данные кадра. Отключение кэширования может быть полезным, когда кадры содержат большие объекты.
-
__init__(fig, func, frames=None, init_func=None, fargs=None, save_count=None, *, cache_frame_data=True, **kwargs)[source] -
Инициализировать self. См. справку type(self) для точной сигнатуры.
Методы
__init__(fig, func[, frames, init_func, ...])Инициализировать self. new_frame_seq()Возвращает новую последовательность информации о кадре. new_saved_frame_seq()Возвращает новую последовательность сохранённой/кэшированной информации о кадре. 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] -
Возвращает новую последовательность сохранённой/кэшированной информации о кадре.
-
fig
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/_as_gen/matplotlib.animation.FuncAnimation.html