【python】如何用python生成并保存gif动态图
有时候在展示实验结果的时候,通过一个gif的动态图可以很好进行表现,通过python生成这种gif图的原理实际上就是通过每次生成图像快照,将它们保存下来,然后通过imageio
这个库再将他们组合成一个gif图。
如果没有安装imageio
这个库的话那就先安装:
pip install imageio
下面通过模拟一段random walk来生成这个gif图。
import numpy as np
import imageiodef random_walk():fig = plt.figure(figsize=(16,9))ax = fig.add_subplot(111)data = np.random.normal(size=50)sum = 0sum_list = []image_list = []for i in range(len(data)):sum += data[i]sum_list.append(sum)ax.plot(range(len(sum_list)), sum_list)plt.savefig('temp.png')image_list.append(imageio.imread('temp.png'))imageio.mimsave('pic.gif', image_list, duration=1)
代码很简单,只需把每次生成的图像保存下来,然后放到一个list里面,最后通过imageio.mimsave()
函数进行保存即可,其中参数duration
是生成的gif图中每一张图像之间的时间间隔(s)。生成的效果如下:
因为上面的代码是在同一个fig中进行绘制的,所以每次生成的曲线颜色会不一样,如果要保持一致,只需要每次重新创建一个fig即可,代码如下:
def random_walk2():data = np.random.normal(size=40)sum = 0sum_list = []image_list = []for i in range(len(data)):fig = plt.figure(figsize=(16, 9))ax = fig.add_subplot(111)sum += data[i]sum_list.append(sum)ax.plot(range(len(sum_list)), sum_list)plt.savefig('temp.png')plt.close()image_list.append(imageio.imread('temp.png'))imageio.mimsave('pic.gif', image_list, duration=1)
【python】如何用python生成并保存gif动态图相关推荐
- 使用matlab将数据保存成动态图
使用matlab将数据保存成动态图 处理流程 使用函数说明 重点函数讲解 效果图 代码下载 参考资料 处理流程 1.将数据绘制成RGB图 2.将RGB图转换成索引图 3.保存索引图 使用函数说明 ge ...
- python生成摸头GIF动态图
python生成摸头GIF 本篇教程演示了如何使用python的PIL库生成GIF图片 源码已经贴在文中,自行取用 效果演示 运行代码,会让你选择要制作的图片 运行完成后,会在同路径下生成dem.gi ...
- python工业自动化镜头_ELVIS III + Python | 如何用Python对ELVIS III进行编程开发
通过本文,你将学习如何在NI ELVIS III上安装和使用Python:连接到NI ELVIS III,安装包和库,下载存储库,运行Python代码. 1 - 软件环境搭建 配置ELVIS III设 ...
- python如何用matplotlib绘图_Python绘图的多图控制(使用Matplotlib),python,利用,matplotlib...
之前习惯matlab画图,但因为最近这个趋势,还是得逐步将代码都换成python保险一些 1. 多个画图窗口 在matlab中,可以使用 fig1=figure(1) plot(x,y) fig2=f ...
- python opencv实现图像生成bump map凹凸贴图
bump map凹凸贴图和normal map法线贴图是计算机图形学中的重要概念,在图形渲染中应用广泛.其在图形学中具体含义可以参考: bump map VS normal map bump/norm ...
- Python每日一个知识点5----多张图片合成GIF动态图
首先已经有一个神器可以直接录制成GIF,那就是ScreenToGif,这个软件,如何下载使用请参看我的上一篇:点我查看 那如果我仅仅是将多张图片合成GIF,该如何操作呢? 此时所需要的 python ...
- 如何用Python进行屏幕录制?
文章目录 引言 gpt3.5给出的代码 更换截图函数--ImageGrab.grab 禁用imshow解决递归现象 摄像头录制代码 后期需求 引言 关于屏幕录制这个功能需求,之前用过基于ffmpeg的 ...
- matlab:将fig保存为动图gif
引言 在一些场景中,不同的参数下绘制出的fig是不同的,为了清晰的看到不同参数下fig的变化.可以将一组fig保存成动态图,从而就可清晰的看出参数变化对fig的影响. 在matlab中可以用imwri ...
- 【Matlab 控制】模仿绘制动态图像 保存动态图 GIF
模仿绘制动态图像 模仿绘制动态图像 保存为动态图 GIF 视频转 GIF 模仿绘制动态图像 clc;clear a=[1 2 3 4 5 6 7 8 9 ]; b=[2 4 8 16 30 40 50 ...
最新文章
- 【嵌入式】Libmodbus之RTU模式Master端程序示例
- 想念一个人是一种温馨,被别人想念是一种幸福
- 【扇贝批量添加单词到词库】利用python调用扇贝API (oauth2)
- 线段树(updata+query)
- Silverlight实用窍门系列:51.Silverlight页面控件的放大缩小、Silverlight和Html控件的互相操作【附带源码实例】...
- 测试用例的定义、内容、作用
- 斯坦福大学NLP课程CS224N课第一次作业第一部分
- VOA 2011-2-16
- IK分词器原理研磨及源码改造,更适用生产
- 2021牛客寒假算法基础集训营1-E-三棱锥之刻-(计算几何)
- python画circos图_从零开始学CIRCOS绘制圈图(四)
- c语言 老鼠乘法,c语言-老鼠走迷宫逐步理解
- JVM知识点(全,一篇搞定)
- 大数据基石-Hadoop3.x学习教程-大数据场景介绍
- Blender(win)渲染参数设置解析
- 为什么我放弃了有道云笔记,选择了 Obsidian
- 揭秘微信营销“暗黑产业链”:粉丝阅读量明码标价
- 问题 N: 扶桑号战列舰(笛卡尔树or差分数组)
- beanstalkd学习笔记
- WinForm捕获全局异常(捕获未处理的异常)
热门文章
- B站小姐姐分享--“含羞草“一只小短短OwO
- netty获取玩家chanel_netty源码解析(4.0)-14 Channel NIO实现:读取数据
- ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found
- 通过栈(LIFO)实现FIFO
- List转成String
- 暴风也要做“信息流”精准推荐,坦言模仿今日头条
- 数字城市与智慧城市的创建,数字化大数据技术的应用
- 正则表达式,验证身份证,手机号,电话号码,邮箱,邮编,日期,正负数,英文字符串等
- 【人工智能系列 - 智能硬件 - 01】演化硬件的概述
- 【LeetCode】最近时刻 next-closest-time [Medium]