matplotlib.animation.Animation #
- 类 matplotlib.animation。动画( fig , event_source = None , blit = False ) [source] #
动画的基类。
这个类不能按原样使用,应该被子类化以提供所需的行为。
笔记
您必须将创建的动画存储在一个变量中,只要动画应该运行,该变量就会存在。否则,动画对象将被垃圾收集并且动画停止。
- 参数:
- 图
Figure
用于获取所需事件的图形对象,例如绘制或调整大小。
- event_source对象,可选
可以在生成所需事件以及停止和启动时运行回调的类。
示例包括计时器(请参阅 参考资料
TimedAnimation
)和文件系统通知。- blit布尔值,默认值:False
blitting 是否用于优化绘图。
- 图
也可以看看
方法
__init__
(fig[, event_source, blit])返回一个新的帧信息序列。
返回保存/缓存的帧信息的新序列。
pause
()暂停动画。
resume
()恢复动画。
save
(文件名[, writer, fps, dpi, codec, ...])通过绘制每一帧将动画保存为电影文件。
to_html5_video
([嵌入限制])将动画转换为 HTML5
<video>
标签。to_jshtml
([fps, embed_frames, default_mode])生成动画的 HTML 表示。
- 保存(文件名,作家=无, fps =无, dpi =无,编解码器=无,比特率=无, extra_args =无,元数据=无, extra_anim =无, savefig_kwargs =无, *, progress_callback =无)[来源] #
通过绘制每一帧将动画保存为电影文件。
- 参数:
- 文件名str
输出文件名,例如
mymovie.mp4
.- writer
MovieWriter
或 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}')
笔记
fps,codec,bitrate,extra_args和metadata用于构造
MovieWriter
实例,并且只能在 writer是字符串时传递。如果它们作为非None传递并且writer 是 aMovieWriter
,RuntimeError
则会引发 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,则返回字符串“视频太大而无法嵌入”。