matplotlib.animation.Animation #

matplotlib.animation。动画( fig , event_source = None , blit = False ) [source] #

动画的基类。

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

笔记

您必须将创建的动画存储在一个变量中,只要动画应该运行,该变量就会存在。否则,动画对象将被垃圾收集并且动画停止。

参数
Figure

用于获取所需事件的图形对象,例如绘制或调整大小。

event_source对象,可选

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

示例包括计时器(请参阅 参考资料TimedAnimation)和文件系统通知。

blit布尔值,默认值:False

blitting 是否用于优化绘图。

也可以看看

FuncAnimation,ArtistAnimation
__init__ ( fig , event_source = None , blit = False ) [source] #

方法

__init__(fig[, event_source, blit])

new_frame_seq()

返回一个新的帧信息序列。

new_saved_frame_seq()

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

pause()

暂停动画。

resume()

恢复动画。

save(文件名[, writer, fps, dpi, codec, ...])

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

to_html5_video([嵌入限制])

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

to_jshtml([fps, embed_frames, default_mode])

生成动画的 HTML 表示。

new_frame_seq ( ) [来源] #

返回一个新的帧信息序列。

new_saved_frame_seq ( ) [来源] #

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

暂停( ) [来源] #

暂停动画。

resume ( ) [来源] #

恢复动画。

保存文件名作家= fps = dpi =编解码器=比特率= extra_args =元数据= extra_anim = savefig_kwargs = * progress_callback =[来源] #

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

参数
文件名str

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

writerMovieWriter或 str,默认值:(rcParams["animation.writer"]默认值'ffmpeg':)

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

fps int,可选

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

dpi浮点数,默认值:(rcParams["savefig.dpi"]默认值'figure':)

控制影片帧的每英寸点数。连同以英寸为单位的图形大小,这控制了影片的大小。

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

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

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

电影的比特率,以千比特每秒为单位。更高的值意味着更高质量的电影,但会增加文件大小。-1 的值允许底层电影编码器选择比特率。

str 或 None 的extra_args列表,可选

传递给底层电影编码器的额外命令行参数。默认值 None 表示 rcParams["animation.[name-of-encoder]_args"]用于内置编写器。

元数据字典[str, str],默认值:{}

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

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}')

笔记

fpscodecbitrateextra_argsmetadata用于构造MovieWriter实例,并且只能在 writer是字符串时传递。如果它们作为非None传递并且writer 是 a MovieWriterRuntimeError则会引发 a。

to_html5_video ( embed_limit = None ) [来源] #

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

这会将动画保存为 h264 视频,直接以 base64 编码到 HTML5 视频标签中。这尊重rcParams["animation.writer"](默认值:)'ffmpeg'rcParams["animation.bitrate"](默认值:)-1。这也是利用 interval来控制速度,用repeat 参数来决定是否循环。

参数
embed_limit浮动,可选

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

返回
字符串

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

to_jshtml ( fps = None , embed_frames = True , default_mode = None ) [source] #

生成动画的 HTML 表示。

参数
fps int,可选

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

embed_frames bool,可选
default_mode str,可选

动画结束时要做什么。必须是其中之一。默认为if 为 True,否则为.{'loop', 'once', 'reflect'}'loop'self.repeat'once'