Spec-Zone.ru › Matplotlib

matplotlib.animation.FuncAnimation

classmatplotlib.animation.FuncAnimation(fig, func, frames=None, init_func=None, fargs=None, save_count=None, *, cache_frame_data=True, **kwargs)[source]

TimedAnimation подкласс, который создает анимацию путём многократного вызова функции func.

Примечание

Вы должны сохранить созданный объект Animation в переменной, которая существует так долго, как должна выполняться анимация. В противном случае объект Animation будет удалён сборщиком мусора, и анимация остановится.

Параметры:
figFigure

Объект фигуры, используемый для получения необходимых событий, таких как отрисовка или изменение размера.

funccallable

Функция, вызываемая в каждом кадре. Первый аргумент будет следующим значением в frames. Дополнительные позиционные аргументы могут быть переданы с помощью functools.partial или параметра fargs.

Требуемая сигнатура:

def func(frame, *fargs) -> iterable_of_artists

Часто удобнее передавать аргументы с помощью functools.partial. Таким образом, можно также передавать ключевые аргументы. Для передачи функции с позиционными и ключевыми аргументами, необходимо задать все аргументы как ключевые, оставив аргумент frame незаданным:

def func(frame, art, *, y=None):
    ...

ani = FuncAnimation(fig, partial(func, art=ln, y='foo'))

Если blit == True, func должна возвращать итерируемый объект всех изменённых или созданных элементов. Эта информация используется алгоритмом блиттинга для определения частей фигуры, которые необходимо обновить. Возвращаемое значение не используется, если blit == False и может быть опущено в этом случае.

framesiterable, int, функция-генератор или None, необязательно

Источник данных для передачи функции func в каждом кадре анимации.

  • Если iterable, то просто используются предоставленные значения. Если iterable имеет длину, то она переопределяет параметр save_count.
  • Если целое число, то эквивалентно передаче range(frames)
  • Если функция-генератор, то должна иметь следующую сигнатуру:

    def gen_function() -> obj
    
  • Если None, то эквивалентно передаче itertools.count.

Во всех этих случаях значения в frames просто передаются в функцию func, и поэтому могут быть любого типа.

init_funccallable, необязательно

Функция, используемая для отрисовки чистого кадра. Если не задано, используются результаты отрисовки из первого элемента последовательности frames. Эта функция будет вызвана один раз перед первым кадром.

Требуемая сигнатура:

def init_func() -> iterable_of_artists

Если blit == True, init_func должна возвращать итерируемый объект элементов для повторной отрисовки. Эта информация используется алгоритмом блиттинга для определения частей фигуры, которые необходимо обновить. Возвращаемое значение не используется, если blit == False и может быть опущено в этом случае.

fargstuple или None, необязательно

Дополнительные аргументы для передачи в каждый вызов функции func. Обратите внимание: использование functools.partial предпочтительнее fargs. См. func для подробностей.

save_countint, необязательно

Значение по умолчанию для количества значений из frames для кеширования. Используется только в том случае, если количество кадров нельзя определить по frames, т.е. когда это итератор без длины или генератор.

intervalint, по умолчанию: 200

Задержка между кадрами в миллисекундах.

repeat_delayint, по умолчанию: 0

Задержка в миллисекундах между последовательными запусками анимации, если repeat равно True.

repeatbool, по умолчанию: True

Указывает, повторяется ли анимация при завершении последовательности кадров.

blitbool, по умолчанию: False

Используется ли блиттинг для оптимизации отрисовки. Обратите внимание: при использовании блиттинга, все анимированные элементы отрисовываются в соответствии с их z-порядком; однако, они будут нарисованы поверх предыдущих элементов, независимо от их z-порядка.

cache_frame_databool, по умолчанию: True

Кешируются ли данные кадра. Отключение кеширования может быть полезно, когда кадры содержат большие объекты.

__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, ...])

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]

Возвращает новую последовательность сохранённой/кешированной информации о кадре.

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.animation.FuncAnimation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API