有时候在展示实验结果的时候,通过一个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动态图相关推荐

  1. 使用matlab将数据保存成动态图

    使用matlab将数据保存成动态图 处理流程 使用函数说明 重点函数讲解 效果图 代码下载 参考资料 处理流程 1.将数据绘制成RGB图 2.将RGB图转换成索引图 3.保存索引图 使用函数说明 ge ...

  2. python生成摸头GIF动态图

    python生成摸头GIF 本篇教程演示了如何使用python的PIL库生成GIF图片 源码已经贴在文中,自行取用 效果演示 运行代码,会让你选择要制作的图片 运行完成后,会在同路径下生成dem.gi ...

  3. python工业自动化镜头_ELVIS III + Python | 如何用Python对ELVIS III进行编程开发

    通过本文,你将学习如何在NI ELVIS III上安装和使用Python:连接到NI ELVIS III,安装包和库,下载存储库,运行Python代码. 1 - 软件环境搭建 配置ELVIS III设 ...

  4. python如何用matplotlib绘图_Python绘图的多图控制(使用Matplotlib),python,利用,matplotlib...

    之前习惯matlab画图,但因为最近这个趋势,还是得逐步将代码都换成python保险一些 1. 多个画图窗口 在matlab中,可以使用 fig1=figure(1) plot(x,y) fig2=f ...

  5. python opencv实现图像生成bump map凹凸贴图

    bump map凹凸贴图和normal map法线贴图是计算机图形学中的重要概念,在图形渲染中应用广泛.其在图形学中具体含义可以参考: bump map VS normal map bump/norm ...

  6. Python每日一个知识点5----多张图片合成GIF动态图

    首先已经有一个神器可以直接录制成GIF,那就是ScreenToGif,这个软件,如何下载使用请参看我的上一篇:点我查看 那如果我仅仅是将多张图片合成GIF,该如何操作呢? 此时所需要的 python ...

  7. 如何用Python进行屏幕录制?

    文章目录 引言 gpt3.5给出的代码 更换截图函数--ImageGrab.grab 禁用imshow解决递归现象 摄像头录制代码 后期需求 引言 关于屏幕录制这个功能需求,之前用过基于ffmpeg的 ...

  8. matlab:将fig保存为动图gif

    引言 在一些场景中,不同的参数下绘制出的fig是不同的,为了清晰的看到不同参数下fig的变化.可以将一组fig保存成动态图,从而就可清晰的看出参数变化对fig的影响. 在matlab中可以用imwri ...

  9. 【Matlab 控制】模仿绘制动态图像 保存动态图 GIF

    模仿绘制动态图像 模仿绘制动态图像 保存为动态图 GIF 视频转 GIF 模仿绘制动态图像 clc;clear a=[1 2 3 4 5 6 7 8 9 ]; b=[2 4 8 16 30 40 50 ...

最新文章

  1. 【嵌入式】Libmodbus之RTU模式Master端程序示例
  2. 想念一个人是一种温馨,被别人想念是一种幸福
  3. 【扇贝批量添加单词到词库】利用python调用扇贝API (oauth2)
  4. 线段树(updata+query)
  5. Silverlight实用窍门系列:51.Silverlight页面控件的放大缩小、Silverlight和Html控件的互相操作【附带源码实例】...
  6. 测试用例的定义、内容、作用
  7. 斯坦福大学NLP课程CS224N课第一次作业第一部分
  8. VOA 2011-2-16
  9. IK分词器原理研磨及源码改造,更适用生产
  10. 2021牛客寒假算法基础集训营1-E-三棱锥之刻-(计算几何)
  11. python画circos图_从零开始学CIRCOS绘制圈图(四)
  12. c语言 老鼠乘法,c语言-老鼠走迷宫逐步理解
  13. JVM知识点(全,一篇搞定)
  14. 大数据基石-Hadoop3.x学习教程-大数据场景介绍
  15. Blender(win)渲染参数设置解析
  16. 为什么我放弃了有道云笔记,选择了 Obsidian
  17. 揭秘微信营销“暗黑产业链”:粉丝阅读量明码标价
  18. 问题 N: 扶桑号战列舰(笛卡尔树or差分数组)
  19. beanstalkd学习笔记
  20. WinForm捕获全局异常(捕获未处理的异常)

热门文章

  1. B站小姐姐分享--“含羞草“一只小短短OwO
  2. netty获取玩家chanel_netty源码解析(4.0)-14 Channel NIO实现:读取数据
  3. ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found
  4. 通过栈(LIFO)实现FIFO
  5. List转成String
  6. 暴风也要做“信息流”精准推荐,坦言模仿今日头条
  7. 数字城市与智慧城市的创建,数字化大数据技术的应用
  8. 正则表达式,验证身份证,手机号,电话号码,邮箱,邮编,日期,正负数,英文字符串等
  9. 【人工智能系列 - 智能硬件 - 01】演化硬件的概述
  10. 【LeetCode】最近时刻 next-closest-time [Medium]