您好,欢迎访问一九零五行业门户网

python可以做动图吗

imagemagick
是一套功能强大、稳定而且开源的工具集和开发包,可以用来读、写和处理超过200种基本格式的图片文件,包括png,jpeg,gif,heic,tiff,dpx,exr,webp,postscript,pdf和svg等格式。利用imagemagick,可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存,对图片的操作,既可以通过命令行进行,也可以通过c/c++、perl、java、php、python或ruby编程来完成。imagemagic的主要精力集中在性能,减少bug以及提供稳定的api和abi上。
imagemagick的功能通常通过命令行使用,也可以通过编程来使用。编程可以选择通过这些接口调用:g2f (ada),magickcore (c),magickwand (c),chmagick (ch),imagemagickobject (com+),magick++ (c++),jmagick (java),juliaio (julia),l-magick (lisp),lua (luajit),nmagick (neko/haxe),magick.net (.net),pascalmagick (pascal),perlmagick (perl),magickwand for php (php),imagick (php),pythonmagick (python),magick (r),rmagick (ruby),or tclmagick (tcl/tk)。
windows下载
地址:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pythonmagick
下载对应os版本和python版本的“pythonmagick”whl文件,然后cmd里面以“pip”+路径+whl完整文件名的方法安装。例如:
pip install c:\users\student\desktop\pythonmagick-0.9.12-cp35-none-win_amd64.whl
或者通过anaconda下载
相关推荐:《python视频教程》
例子
import sysimport numpy as npimport matplotlib.pyplot as pltfrom matplotlib.animation import funcanimation fig, ax = plt.subplots()fig.set_tight_layout(true) # 询问图形在屏幕上的大小和dpi(每英寸点数)# 注意当把图形保存为文件时,需要为此单独再提供一个dpiprint('fig size: {0} dpi, size in inches {1}'.format( fig.get_dpi(), fig.get_size_inches())) # 绘制一个保持不变(不会被重新绘制)的散点图以及初始直线x = np.arange(0, 20, 0.1)ax.scatter(x, x + np.random.normal(0, 3.0, len(x)))line, = ax.plot(x, x - 5, 'r-', linewidth=2) def update(i): label = 'timestep {0}'.format(i) print(label)# 更新直线和轴(用一个新x轴标签) # 以元组形式返回这一帧需要重新绘制的物体 line.set_ydata(x - 5 + i) ax.set_xlabel(label) return line, ax if __name__ == '__main__': # 会为每一帧调用update函数 # 这里funanimation设置一个10帧动画,每帧间隔200ms anim = funcanimation(fig, update, frames=np.arange(0, 10), interval=200) if len(sys.argv) > 1 and sys.argv[1] == 'save': anim.save('line.gif', dpi=80, writer='imagemagick') else: # plt.show()会一直循环动画 plt.show()
有两点需要注意: 图表中的散点不会动,会动的是直线。 x轴标题每一帧都在变化。
如果你想换个再酷炫点的主题,可以用seaborn库,只需添加:
import seaborn
那么就会得到下面这张gif图:
稍微提醒一下:虽然我们这里的gif图只有10帧,图形内容也很简单,但每一帧仍有160k左右。因为gif动图不使用跨帧压缩,所以这就让帧比较长的gif图变得很大。将帧数尽量减少,并且让每一帧的图像再小一点(通过在matplotlib中调整图形大小或dpi)能或多或少有助于缓解这个问题。
以上就是python可以做动图吗的详细内容。
其它类似信息

推荐信息