Matploblib是Python生态中最为常用的绘图工具。然而这款工具不仅可以绘制静态图,还能借助于类似X11转发功能实现远程show。特别地,Maplotlib还可以绘制动态图,并导出成GIF。
配置
出现outfile must be *.htm or *.html错误,需要显式指定Writer,代码如下所示
1
2
3Writer = animation.writers['ffmpeg']
writer = Writer(fps=15, metadata=dict(artist='Me'), bitrate=1800)
line_ani.save('lines.mp4', writer=writer)
出现RuntimeError: No MovieWriters available!,说明没有装好ffmpeg,可以使用conda install -c conda-forge ffmpeg。
绘制线条坐标
FuncAnimation
在没有Matplotlib前,去查看散点图的简便做法是将CSV格式的坐标文件放到Excel里面,然后绘制散点图。配合筛选功能我们可以较为轻松地得到一个动态的形状。我们稍后发现,借助于matplotlib.animation库,我们可以直接生成动画。
Animation的主体函数是如下所示。
1animation.FuncAnimation(fig, update, init_func=init, frames=tot)
update是最为关键的方法,它接受一个参数t,表示这是第几帧画面。
绘制线条或散点
绘制多个曲线/散点
上面的方法只能绘制一条曲线,或者散点,我们可以创建多个matplotlib.lines.Line2D,并且作为tuple返回,从而绘制多条曲线。
Reference