matplotlib.animation.Animation
- classmatplotlib.animation.Animation(fig, event_source=None, blit=False)[source]
-
Базовый класс для анимаций.
Этот класс не может быть использован напрямую и должен быть расширен для предоставления необходимого поведения.
Примечание
Вы должны сохранить созданную анимацию в переменной, которая существует до тех пор, пока анимация должна работать. В противном случае объект Animation будет собран сборщиком мусора, и анимация остановится.
- Параметры:
-
-
fig
Figure -
Объект фигуры, используемый для получения необходимых событий, таких как отрисовка или изменение размера.
- event_sourceобъект, необязательно
-
Класс, который может запускать обратный вызов при возникновении необходимых событий, а также останавливаться и запускаться.
Примеры включают таймеры (см.
TimedAnimation) и уведомления о файловой системе. - blitbool, по умолчанию: False
-
Используется ли кеширование для оптимизации отрисовки. Если бэкенд не поддерживает кеширование, этот параметр не оказывает никакого влияния.
-
fig
См. также
- __init__(fig, event_source=None, blit=False)[source]
Методы
__init__(fig[, event_source, blit])Возвращает новую последовательность информации о кадрах.
Возвращает новую последовательность сохранённой/кэшированной информации о кадрах.
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]
-
Возвращает новую последовательность сохранённой/кэшированной информации о кадрах.
- pause()[source]
-
Приостановить анимацию.
- resume()[source]
-
Возобновить анимацию.
- save(filename, writer=None, fps=None, dpi=None, codec=None, bitrate=None, extra_args=None, metadata=None, extra_anim=None, savefig_kwargs=None, *, progress_callback=None)[source]
-
Сохраните анимацию в виде файла видео, нарисовав каждый кадр.
- Параметры:
-
- filenamestr
-
Имя выходного файла, например,
mymovie.mp4. -
writer
MovieWriterили str, по умолчанию:rcParams["animation.writer"](по умолчанию:'ffmpeg') -
Экземпляр
MovieWriterдля использования или ключ, который идентифицирует класс для использования, например, 'ffmpeg'. - fpsint, необязательно
-
Частота кадров видео (в секунду). Если не задано, используется частота кадров из интервала кадров анимации.
-
dpifloat, по умолчанию:
rcParams["savefig.dpi"](по умолчанию:'figure') -
Определяет точки на дюйм для кадров видео. Вместе с размером фигуры в дюймах определяет размер видео.
-
codecstr, по умолчанию:
rcParams["animation.codec"](по умолчанию:'h264'). -
Кодек видео. Не все кодеки поддерживаются данным
MovieWriter. -
bitrateint, по умолчанию:
rcParams["animation.bitrate"](по умолчанию:-1) -
Битрейт видео, в килобитах в секунду. Более высокие значения означают более качественное видео, но увеличивают размер файла. Значение -1 позволяет кодеку видео выбрать битрейт.
- extra_argsсписок строк или None, необязательно
-
Дополнительные аргументы командной строки, передаваемые в кодек видео. Значение по умолчанию, None, означает использование
rcParams["animation.[name-of-encoder]_args"]для встроенных кодеков. - metadatadict[str, str], по умолчанию: {}
-
Словарь пар ключ-значение для метаданных, которые нужно включить в выходной файл. Некоторые полезные ключи включают: title, artist, genre, subject, copyright, srcform, comment.
- extra_animсписок, по умолчанию: []
-
Дополнительные объекты
Animation, которые следует включить в сохранённое видео. Они должны быть из того же экземпляраFigure. Также, кадры анимации просто комбинируются, поэтому должна быть 1:1 соответствие между кадрами разных анимаций. - savefig_kwargsdict, по умолчанию: {}
-
Ключевые аргументы, передаваемые каждому вызову
savefig, используемому для сохранения отдельных кадров. - progress_callbackфункция, необязательно
-
Функция обратного вызова, которая вызывается для каждого кадра для оповещения о ходе сохранения. Она должна иметь сигнатуру
def func(current_frame: int, total_frames: int) -> Any
где current_frame - номер текущего кадра, а total_frames - общее количество кадров для сохранения. total_frames устанавливается в None, если общее количество кадров определить невозможно. Возвращаемые значения могут существовать, но игнорируются.
Пример кода для записи прогресса в стандартный вывод:
progress_callback = lambda i, n: print(f'Saving frame {i}/{n}')
Примечания
fps, codec, bitrate, extra_args и metadata используются для создания экземпляра
MovieWriterи могут быть переданы только если writer является строкой. Если они передаются как не None и writer являетсяMovieWriter, будет поднятаRuntimeError.
- to_html5_video(embed_limit=None)[source]
-
Преобразуйте анимацию в тег HTML5
<video>.Это сохраняет анимацию в виде видео h264, закодированного в base64 непосредственно в теге HTML5 video. Это учитывает
rcParams["animation.writer"](по умолчанию:'ffmpeg') иrcParams["animation.bitrate"](по умолчанию:-1). Это также использует параметр interval для управления скоростью и параметр repeat для определения, следует ли циклировать.- Параметры:
-
- embed_limitfloat, необязательно
-
Предел, в МБ, возвращаемой анимации. Анимация не создаётся, если предел превышен. По умолчанию
rcParams["animation.embed_limit"](по умолчанию:20.0) = 20.0.
- Возвращает:
-
- str
-
Тег HTML5 видео с вложенной анимацией как видео h264, закодированное в base64. Если embed_limit превышен, возвращается строка "Video слишком большой для вложения."
- to_jshtml(fps=None, embed_frames=True, default_mode=None)[source]
-
Сгенерировать HTML-представление анимации.
- Параметры:
-
- fpsint, необязательно
-
Частота кадров видео (в секунду). Если не задано, используется частота кадров из интервала кадров анимации.
- embed_framesbool, необязательно
- default_modestr, необязательно
-
Что делать, когда анимация заканчивается. Должно быть одним из
{'loop', 'once', 'reflect'}. По умолчанию'loop'если параметр repeat равен True, в противном случае'once'.
© 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.Animation.html