matplotlib.animation.Animation

class matplotlib.animation.Animation(fig, event_source=None, blit=False)[源代码]

动画的基类。

这个类不能按原样使用,应该子类化以提供所需的行为。

参数:
figFigure图形

用于获取所需事件(如绘制或调整大小)的figure对象。

event_source对象,可选

一个类,可以在生成所需事件以及停止和启动时运行回调。

例如计时器(参见 TimedAnimation )和文件系统通知。

blitbool,默认值:False

是否使用光点切割优化绘图。

__init__(fig, event_source=None, blit=False)[源代码]

初始化自身。请参阅帮助(键入(self))以获得准确的签名。

方法

__init__ [图] [, event_source, blit] ) 初始化自身。
new_frame_seq () 返回新的帧信息序列。
new_saved_frame_seq () 返回保存/缓存帧信息的新序列。
save (文件名) [, writer, fps, dpi, codec, ...] ) 通过绘制每个帧,将动画保存为电影文件。
to_html5_video \ [embed_limit] ) 将动画转换为HTML5 <video> 标签。
to_jshtml \ [fps, embed_frames, default_mode] ) 生成动画的HTML表示形式
new_frame_seq()[源代码]

返回新的帧信息序列。

new_saved_frame_seq()[源代码]

返回保存/缓存帧信息的新序列。

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)[源代码]

通过绘制每个帧,将动画保存为电影文件。

参数:
filenameSTR

输出文件名,例如, mymovie.mp4 .

作家 : MovieWriter or str, default: rcParams["animation.writer"] (default: 'ffmpeg')MovieWriter或str,默认值:rcParams ["animation.writer"] (默认值:“ffmpeg”)

A MovieWriter 要使用的实例或标识要使用的类的键,例如“ffmpeg”。

fps可选的

电影帧速率(每秒)。如果未设置,则为动画帧间隔的帧速率。

dpi : float, default: rcParams["savefig.dpi"] (default: 'figure')浮动,默认值:

控制电影帧的每英寸点数。加上以英寸为单位的数字大小,这就控制了电影的大小。

编解码器 : str, default: rcParams["animation.codec"] (default: 'h264') .str,默认值:

要使用的视频编解码器。不是所有的编解码器都受给定的 MovieWriter .

比特率 : int, default: rcParams["animation.bitrate"] (default: -1)int,默认值:

电影的比特率,单位为千比特每秒。值越高表示电影质量越高,但会增加文件大小。值-1允许基础电影编码器选择比特率。

extra_argsstr或None列表,可选

传递给底层电影编码器的额外命令行参数。默认值None表示使用 rcParams["animation.[name-of-encoder]_args"] 为了那些天生的作家。

metadata双关语 [STR,STR] ,默认值{}

要包含在输出文件中的元数据的键和值的字典。可能会用到的一些关键点包括:标题、艺术家、流派、主题、版权、srcform、评论。

extra_anim列表,默认值:[]

附加的 Animation 应包含在保存的电影文件中的对象。这些需要来自同一个 matplotlib.figure.Figure 实例。另外,动画帧只是简单地组合在一起,所以不同动画的帧之间应该有1:1的对应关系。

savefig_kwargsdict,默认值:{}

传递给每个 savefig 用于保存单个帧的调用。

progress_callback功能,可选

将为每个帧调用的回调函数,以通知保存进度。必须有签名:

def func(current_frame: int, total_frames: int) -> Any

在哪里? current_frame 是当前帧编号,并且 total_frames 要保存的帧总数。 total_frames 如果无法确定总帧数,则设置为“无”。返回值可能存在,但会被忽略。

将进度写入stdout的示例代码:

progress_callback =                    lambda i, n: print(f'Saving frame {i} of {n}')

笔记

fps编解码器比特率extra_args元数据 用于构造 MovieWriter 实例和只能在以下情况下传递 作家 是一个字符串。如果它们作为非- None作家 是一个 MovieWriter ,A RuntimeError 将被提升。

to_html5_video(embed_limit=None)[源代码]

将动画转换为HTML5 <video> 标签。

这将动画保存为h264视频,用base64直接编码到HTML5视频标记中。这尊重 rcParams["animation.writer"] (default: 'ffmpeg') 和 rcParams["animation.bitrate"] (default: -1) . 这也利用了 interval 控制速度,并使用 repeat 用于决定是否循环的参数。

参数:
embed_limit可选浮动

限制返回动画的大小(以MB为单位)。如果超出限制,则不会创建动画。默认为 rcParams["animation.embed_limit"] (default: 20.0) = 20。

返回:
STR

HTML5视频标签,动画嵌入为base64编码的h264视频。如果 embed_limit 如果超过,则返回字符串“视频太大,无法嵌入”。

to_jshtml(fps=None, embed_frames=True, default_mode=None)[源代码]

生成动画的HTML表示形式