前言

之前我们分享过用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)能或多或少有助于缓解这个问题。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

python画动态图-利用Python如何制作好玩的GIF动图详解相关推荐

  1. 制作gif动图python_利用Python如何制作好玩的GIF动图详解

    前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...

  2. python 制作gif-利用Python如何制作好玩的GIF动图详解

    前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...

  3. python 制作gif-怎样用Python制作好玩的GIF动图

    原标题:怎样用Python制作好玩的GIF动图 作者: 景略集智 https://jizhi.im/blog/post/pytogif 程序员共读整理发布,转载请联系作者获得授权 之前我们分享过用Py ...

  4. python制作gif动图_怎样用Python制作好玩的GIF动图

    原标题:怎样用Python制作好玩的GIF动图 作者: 景略集智 https://jizhi.im/blog/post/pytogif 程序员共读整理发布,转载请联系作者获得授权 之前我们分享过用Py ...

  5. python画动图-利用Python如何制作好玩的GIF动图详解

    前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...

  6. pythongif字符动图,利用Python如何制作好玩的GIF动图详解

    前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...

  7. 利用python画曲线_利用Python绘制血药浓度-时间曲线——口服吸收一室模型

    血药浓度-时间曲线一般是通过拟合所测定的血药浓度点而画出来的,但是在某些时候,如阅读文献时,我们需要根据别人报道的PK参数来画出药时曲线.Python语法简单,拥有丰富的开源库,下面尝试通过Pytho ...

  8. 用python画玫瑰花教程-利用Python的turtle库绘制玫瑰教程

    用Python的turtle库绘图是很简单的,闲来无事就画了一个玫瑰花,下面奉上源码.... 源码: ''' Created on Nov 18, 2017 @author: QiZhao ''' i ...

  9. python画动态爱心-【Python】五分钟画一条动态心形曲线~

    0.最终效果 1.绘制一条心形曲线 最近看到个视频,打算绘制个心型动态的曲线. 1.1 Matlab确定图像及其函数 网上有很多关于心形曲线的资料,各种各样的形状,但是我比较倾心于桃心形.先在Matl ...

最新文章

  1. AI啊,我这里有些羞羞的东西,你要不要看一眼?
  2. 日志服务商业化计费FAQ和账单优化
  3. Google图片搜索的原理
  4. NDoc使用简要手册增加了例子代码
  5. 厉害,96秒100亿,阿里双十一到底做了什么杠过亿级流量??
  6. IDL | 实验四 IDL输入输出
  7. 关于level_idc
  8. linux用sqlserver数据库,Linux下安装访问SQLSERVER2000数据库(附文件下载)
  9. CA数字证书包含哪些文件?如何查看SSL证书信息?
  10. 三维von Mises-Fisher分布的均值方差
  11. 解决在Filter中读取Request中的流后,后续controller或restful接口中无法获取流的问题
  12. VBS ADODB操作帮助手册
  13. Inpaint9.1最新网页版下载及inpaint怎么去水印教程
  14. Echarts-实现3D柱状图显示,并单个柱子变色
  15. 通过keil使用汇编语言生成二进制文件,并使用vivado仿真cortexm0处理器
  16. iOS 添加第三方字体 .ttf
  17. 【源码】具有“放大镜”功能的函数magnify
  18. 网页分享如何展示标题,描述,缩略图
  19. 微信小程序实现wxml中数据保留小数或取整
  20. Mac系统软件删除(AppCleaner)

热门文章

  1. TensorFlow基础篇(七)——tf.nn.conv2d()
  2. Linux环境SOCKET编程2:epoll分析
  3. tensorflow中如何进行可视化和减轻过拟合(转)
  4. php stripcslashes 转义,stripcslashes()
  5. 实现有向带权图抽象数据类型
  6. Session实现验证码登陆笔记
  7. 如何实现SSH断开后 进程仍然在后台运行
  8. 第四章:FLASK结构拆分和循环引入问题
  9. Bailian2796 Bailian3681 数字求和【序列处理】
  10. Bailian4123 马走日【DFS】