mr_*_*res 10 animation matplotlib
如何使用"matplotlib.animation"模块设置保存为mp4电影的动画的分辨率?
在网络上我只找到了使用"animation.FuncAnimation"的例子.例如,使用http://jakevdp.github.com/blog/2012/08/18/matplotlib-animation-tutorial/上的精彩教程:
anim = animation.FuncAnimation(fig, animate, init_func=init,
frames=200, interval=20, blit=True)
anim.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])
Run Code Online (Sandbox Code Playgroud)
从matplotlib.animation模块参考我发现"animation.Animation.save"方法提供了一个"dpi" - 参数,但我不知道如何正确应用这个函数
matplotlib.animation.Animation.save(filename, writer=None, fps=None, dpi=None, codec=None, bitrate=None, extra_args=None, metadata=None, extra_anim=None)
Run Code Online (Sandbox Code Playgroud)
一个小示例代码可能会有所帮助.
非常感谢.
约翰内斯
PS:顺便说一下,如何使用sytax-highlighting插入Python代码?
您可以以圆形方式控制分辨率.分辨率,图形大小和dpi并非都是独立的,如果你知道其中两个,那么第三个是固定的.
您可以dpi在save参数中设置,在保存之前,请设置图的大小
fig.set_size_inches(w_in_inches, h_in_inches, True).
Run Code Online (Sandbox Code Playgroud)
那你的解决方案就是dpi * w_in_inches X dpi * h_in_inches.
dpi = 100
writer = animation.writers['ffmpeg'](fps=30)
ani.save('test.mp4',writer=writer,dpi=dpi)
Run Code Online (Sandbox Code Playgroud)
您可能需要从源代码升级到更新版本的mpl(debian很棒,因为它非常保守而且非常糟糕,因为它非常保守).