Spec-Zone.ru › Matplotlib 3.8

matplotlib.animation.FuncAnimation

классmatplotlib.animation.FuncAnimation(fig, func, frames=None, init_func=None, fargs=None, save_count=None, *, cache_frame_data=True, **kwargs)[source]

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

Примечание

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

Параметры:
figFigure

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

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

framesитерируемый объект, целое число, функция-генератор или 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 должен возвращать итерируемый объект элементов управления для повторной отрисовки. Эта информация используется алгоритмом отрисовки с блинками для определения, какие части фигуры необходимо обновить. Возвращаемое значение не используется, если blit == False и может быть опущено в этом случае.

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

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

save_countцелое число, необязательно

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

intervalцелое число, по умолчанию: 200

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

repeat_delayцелое число, по умолчанию: 0

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

repeatбулево, по умолчанию: True

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

blitбулево, по умолчанию: False

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

cache_frame_dataбулево, по умолчанию: 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-представление анимации.

Атрибуты

repeat

[Устаревший]

save_count

[Устаревший]

new_frame_seq()[source]

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

new_saved_frame_seq()[source]

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

свойствоsave_count[source]

[Устаревший]

Примечания

Устарело начиная с версии 3.7:

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

Spec-Zone.ru

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