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)[исходный код]

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

Примечание

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

Параметры:
figFigure

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

funcвызываемый объект

Функция, вызываемая для каждого кадра. Первым аргументом будет следующее значение из 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 должна возвращать итерируемый объект со всеми изменёнными или созданными объектами artist. Эта информация используется алгоритмом блиттинга для определения частей figure, которые нужно обновить. Если blit == False, возвращаемое значение не используется, и его можно не указывать.

framesитерируемый объект, int, функция-генератор или None, необязательный

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

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

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

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

init_funcвызываемый объект, необязательный

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

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

def init_func() -> iterable_of_artists

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

fargsкортеж или None, необязательный

Дополнительные аргументы, передаваемые при каждом вызове func. Примечание: вместо fargs предпочтительно использовать functools.partial. Подробности см. в описании func.

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

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

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

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

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

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

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

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

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

Используется ли блиттинг для оптимизации отрисовки. Примечание: при использовании блиттинга все анимированные объекты artist отрисовываются в соответствии с их zorder, однако они будут отображаться поверх всех предыдущих объектов artist независимо от их zorder.

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

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

__init__(fig, func, frames=None, init_func=None, fargs=None, save_count=None, *, cache_frame_data=True, **kwargs)[исходный код]

Методы

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

Преобразует анимацию в тег <video> HTML5.

to_jshtml([fps, embed_frames, default_mode])

Создаёт HTML-представление анимации.

new_frame_seq()[исходный код]

Возвращает новую последовательность данных о кадрах.

new_saved_frame_seq()[исходный код]

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

© 2012–2026 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