python 制作gif-利用Python如何制作好玩的GIF动图详解
前言
之前我们分享过用Python进行可视化的9种常见方式。其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表。
假如电脑上没有安装ImageMagick,先去这里按照自己的电脑系统下载对应版本,大家也可以通过我们下载:https://www.jb51.net/softs/140766.html,如果我们想用matplotlib的save方法渲染GIF动图,就需要安装ImageMagick。
下图是我们制作的一个动图示例:
有两点需要注意: 图表中的散点不会动,会动的是直线。 X轴标题每一帧都在变化。
下面是我们制作上面GIF图的代码:
import sys
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
fig, ax = plt.subplots()
fig.set_tight_layout(True)
# 询问图形在屏幕上的大小和DPI(每英寸点数)
# 注意当把图形保存为文件时,需要为此单独再提供一个DPI
print('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()
如果你想换个再酷炫点的主题,可以用seaborn库,只需添加:
import seaborn
那么就会得到下面这张GIF图:
稍微提醒一下:虽然我们这里的GIF图只有10帧,图形内容也很简单,但每一帧仍有160k左右。因为GIF动图不使用跨帧压缩,所以这就让帧比较长的GIF图变得很大。将帧数尽量减少,并且让每一帧的图像再小一点(通过在matplotlib中调整图形大小或DPI)能或多或少有助于缓解这个问题。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
参考资料:drawing-animated-gifs-with-matplotlib/
本文标题: 利用Python如何制作好玩的GIF动图详解
本文地址: http://www.cppcns.com/jiaoben/python/234221.html
python 制作gif-利用Python如何制作好玩的GIF动图详解相关推荐
- 制作gif动图python_利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- python画动图-利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- pythongif字符动图,利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- python画动态图-利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- awk命令详解_python学习之利用urllib和urllib2访问http的GET/POST详解
前言 本文主要给大家介绍了关于python如何学习访问http的GET/POST的相关内容,使用urllib和urllib2,可以轻松实现对http的访问,下面话不多说了,来一起看看详细的介绍吧. 示 ...
- python 制作gif-怎样用Python制作好玩的GIF动图
原标题:怎样用Python制作好玩的GIF动图 作者: 景略集智 https://jizhi.im/blog/post/pytogif 程序员共读整理发布,转载请联系作者获得授权 之前我们分享过用Py ...
- python制作gif动图_怎样用Python制作好玩的GIF动图
原标题:怎样用Python制作好玩的GIF动图 作者: 景略集智 https://jizhi.im/blog/post/pytogif 程序员共读整理发布,转载请联系作者获得授权 之前我们分享过用Py ...
- 【Python例】利用 python 进行用户画像词云图的生成 --- wordcloud
[Python例]利用 python 进行用户画像词云图的生成 - wordcloud 本文主要用于记录,并使用 python 脚本进行用户画像的词云图的生成. 前言 对于词云图来说,是一个用户画像数 ...
- 【Python例】利用 python 进行图片文字信息的提取 --- OCR-EasyOCR
[Python例]利用 python 进行图片文字信息的提取 - OCR-EasyOCR 本文主要用于记录,并使用 python 脚本进行图片文字信息的生成. 什么是 OCR? OCR OCR(Opt ...
最新文章
- 火爆GitHub的《机器学习100天》,有人把它翻译成了中文版
- excel两个表格数据对比_Excel小技巧:实例教你快速对比多个表格的差异
- 计算机视觉与深度学习 | 双目视觉SLAM之ORB-SLAM2的Matlab实现(完整代码)
- 后端技术趋势指南|如何选择自己的技术方向
- JAVA消息服务JMS规范及原理详解
- PHP CI框架如何去掉 sql 里的反引号
- 5G to B核心网建设白皮书发布:2025年运营商toB市场高达6020亿美元
- mac mongodb可视化工具_github项目推荐|2019 冠状病毒疫情爬虫。疫情数据可视化
- Algs4-1.2.8引用型变量赋值-数组复制
- 你的Node环境有问题?这篇文章可以帮到你!
- win7开机rpc服务器不可用进不了系统,win7系统提示rpc服务器不可用怎么解决
- 戴尔台式计算机键盘,dell键盘失灵怎么解决【图文教程】
- 搭建文件服务器或nas免费版,nas文件服务器搭建
- Java8 Lambda表达式的特快处理流Stream快速入门
- Java将图片放入word文档中
- PiaPik网盘 2023.2
- 前锋java教学大纲,【人教版初中英语教学大纲模板资讯】人教版初中英语教学大纲模板足球知识与常识 - 足球百科 - 599比分...
- Hadoop(二)Hive原理解析
- 大学里可以考的证书有哪些?
- 阿拉斯加波弗特海,一头北极熊困在渔网险被溺亡
热门文章
- python 中的位置参数和默认参数
- numpy 深复制 切片创建视图
- laravel5.6 数据库获取数据模式变为’数组‘
- .NET Core RSA密钥的xml、pkcs1、pkcs8格式转换和JavaScript、Java等语言进行对接
- H5与Native交互之JSBridge技术
- liunx配置本地yum源和更新aliyun yum源
- [转] Windows系统Net命令使用技巧
- P3916 图的遍历
- 20172301 《程序设计与数据结构》第七周学习总结
- SpringBoot | 第九章:Mybatis-plus的集成和使用