Spec-Zone.ru › Matplotlib 3.7

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.

Примечание

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

Параметры:
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 и может быть опущено в этом случае.

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

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

  • Если это итерируемый объект, просто используйте предоставленные значения. Если итерируемый объект имеет длину, он переопределит аргумент 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 и может быть опущено в этом случае.

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

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

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

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

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

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

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

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

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

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

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

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

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-представление анимации.

Атрибуты

repeat

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

save_count

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

new_frame_seq()[source]

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

new_saved_frame_seq()[source]

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

propertysave_count[source]

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

Примечания

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

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

Spec-Zone.ru

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