matplotlib.animation.Animation
- classmatplotlib.animation.Animation(fig, event_source=None, blit=False)[source]
-
Базовый класс для анимаций.
Этот класс не может быть использован напрямую и должен быть унаследован для реализации необходимого поведения.
Примечание
Вы должны сохранить созданную анимацию в переменной, которая существует до тех пор, пока анимация должна выполняться. В противном случае объект Animation будет удалён сборщиком мусора и анимация остановится.
- Параметры
-
-
fig
Figure -
Объект 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список str или None, необязательно
-
Дополнительные аргументы командной строки, передаваемые в базовую программу кодирования видео. Значение по умолчанию, None, означает использование
rcParams["animation.[name-of-encoder]_args"]для встроенных записывателей. - metadataсловарь[str, str], по умолчанию: {}
-
Словарь ключей и значений для метаданных, которые необходимо включить в выходной файл. Некоторые ключи, которые могут быть полезными, включают: title, artist, genre, subject, copyright, srcform, comment.
- extra_animсписок, по умолчанию: []
-
Дополнительные объекты
Animation, которые необходимо включить в сохраненный файл видео. Они должны быть из того же экземпляраmatplotlib.figure.Figure. Также кадры анимации будут просто объединены, поэтому должна быть 1:1 связь между кадрами разных анимаций. - savefig_kwargsсловарь, по умолчанию: {}
-
Ключевые аргументы, передаваемые каждому вызову
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} of {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 video с анимацией, вставленной как закодированное в base64 видео h264. Если предел embed_limit превышен, возвращается строка "Видео слишком велико для вставки."
- to_jshtml(fps=None, embed_frames=True, default_mode=None)[source]
-
Генерация HTML-представления анимации.
- Параметры
-
- fpsint, необязательно
-
Частота кадров видео (в секунду). Если не задано, используется частота кадров из интервала кадров анимации.
- embed_framesbool, необязательно
- default_modestr, необязательно
-
Действия при завершении анимации. Должно быть одним из
{'loop', 'once', 'reflect'}. По умолчанию'loop'еслиself.repeatравно True, иначе'once'.
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/_as_gen/matplotlib.animation.Animation.html