Python 绘图与可视化 matplotlib 制作Gif动图

参考链接:https://blog.csdn.net/theonegis/article/details/51037850

  我们可以使用Matplotlib的animation类的FuncAnimation()方法来制作动画,只需要提供一个动态更新数据的函数

  需要注意的是,这个函数需要以元组的形式返回一个需要在下一次绘图中更新的数据

一个拥有详细解释的实例的链接:http://codingpy.com/article/drawing-gifs-with-matplotlib

有两点需要注意

  1. 图里的散点部分是不变的;变的是直线
  2. X 轴的标题每一帧都在变化
import numpy as np
import matplotlib as plt
from matplotlib import animation

plt.fig,ax=plt.subplots()
plt.fig.set_tight_layout(True)#tight:紧的;layout:布局
    #DPI:每英寸的点数
    #获取图片的分辨率和尺寸
    #在保存图片时,还需要另外指明图片的DPI
print(‘图片的分辨率尺寸是{0}DPI,size in inches is {1}‘.format(plt.fig.get_dpi(),plt.fig.get_size_inches()))#inches:英寸

    #画出一个维持不变的散点图和一开始的那条直线
    #困难的问题从约定俗成的方法去解决,不如先不管多么复杂的图像,第一步就是创建点的集合
X=np.arange(0,20,0.1)
ax.scatter(X,X+np.random.normal(0,3.0,len(X)))#这种方法很好啊
line,=plt.plot(X,X-0.5,‘r-‘,linewidth=2)
plt.title(‘Interesting Graph‘,fontsize=‘large‘,fontweight=‘bold‘,verticalalignment=‘center‘)#设置标题位置不起作用
def update(i):
    label=‘timestep{0}‘.format(i)
    print(label)
    #更新直线和X轴,使用一个新的X轴的标签
    #以元组的形式返回在这一帧需要被更新的物体
    line.set_ydata(X-5+i)
    ax.set_label(label)
    return ax,line

if __name__==‘__main__‘:
    #FuncAnimation会在每一帧都调用update函数
    #在这里设置一个10帧的动画,每帧之间间隔200ms
    anim=animation.FuncAnimation(plt.fig,update,frames=np.arange(0,10),interval=200)#frame:帧
    #我知道问什么这里提示figundefine了,因为前面的fig在函数中声明的
    plt.show()

  

  

FuncAnimation方法的一些参数:

  fig:对象

  update:以元组形式返回这一帧需要被重新绘图物体的一个函数

  frames:帧数

  interval:每帧之间的间隔,以毫秒为单位

保存

如果你想用matplotlib的save方法渲染GIF图的话,就必须安装ImageMagick

ageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片

anim.save(‘line.gif‘, dpi=80, writer=‘imagemagick‘)

  

其他的:

记得要掌握一些知识点约定俗称的步骤,如使用matplotlib画图,无论多么复杂,第一步都是构造点的集合np.arange或者random.normal(),或者曲线np.linspace(),尤其是面对新的问题,这样做就显得特别重要

问题:

  1)无法显示title

  2)导入seaborn包没有用

原文地址:https://www.cnblogs.com/Gaoqiking/p/11070652.html

时间: 2024-10-10 12:26:34

Python 绘图与可视化 matplotlib 制作Gif动图的相关文章

Python 绘图与可视化 matplotlib text 与transform

Text 为plots添加文本或者公式,反正就是添加文本了 参考链接:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.text.html#matplotlib.pyplot.text 参考链接(应用):https://matplotlib.org/tutorials/text/text_intro.html#sphx-glr-tutorials-text-text-intro-py 简单使用:(更多例子见应用) #参数介绍: matplo

PS制作gif动图以及背景透明与消除残影

摘要: 用Photoshop制作gif动画的要点:在窗口菜单中找到“时间轴”选中打开时间轴,单击一帧,设置该帧显示持续时间在图层里将该帧要显示的图层显示,并将不该显示的层隐藏,新建一帧,接下来就是重复劳动了.最后在文件菜单里找到存储为Web所用的格式,设置一下存储选项即可. 透明背景制作方法有二:一是删除每层的背景,这种方法应该算是通用的方法.二是在存储时在颜色表中选择设为透明色的颜色,在颜色表下方有个将选中的颜色映射为透明色的按钮,点一下就行了,这个方法应该是适合背景色是纯色,并且是主体没有的

怎么制作GIF动图,制作GIF动图攻略

网络聊天中,使用GIF动图已经成为一种常态.很多人都习惯了使用GIF动图来表达自己的心情,那么你们有想过你们手中的GIF动图是怎么制作的吗?我想肯定都是想过的.其实制作GIF并不困难,有款迅捷GIF制作工具请添加链接描述便能够轻松驾驭了.下面小编就来分享下制作GIF动图的方法,教大家如何制作GIF动图. 迅捷GIF制作工具http://www.xunjieshipin.com/download-gifmaker 一.现在很流行将电视剧或者综艺.动漫等等视频上面的某一搞笑的画面截取下来制作成动态表

Python绘图与可视化

Python有很多可视化工具,本篇只介绍Matplotlib. Matplotlib是一种2D的绘图库,它可以支持硬拷贝和跨系统的交互,它可以在Python脚本.IPython的交互环境下.Web应用程序中使用.该项目是由John Hunter于2002年启动的,其目的是为Python构建一个MATLAB式的绘图接口.如果结合使用一种GUI工具包(如IPython),Matplotlib还具有诸如缩放和平移等交互功能.它不仅支持各种操作系统上许多不同的GUI后端,而且还能将图片导出为各种常见的食

电脑如何制作表情包 怎么制作gif动图

我们如果每一天都在使用电脑,电脑壁纸肯定也要时常更新,这样才会有新鲜感,但是电脑如何制作表情呢?使用工具:电脑操作方法:1.首先要先找好素材,自己想要什么样的动态壁纸,就找到相关的图片或者视频播放源,通过制作工具来录制视频,也可以直接添加图片制作动态图:2.然后如果找的素材是图片的话,可以选择后者直接添加,如果找的是视频,选择前者启动屏幕录制对视频中的内容进行录制即可:3.点击启动屏幕录制会出现一个录制框,然后打开准备好了的视频就可以开始录制了,在录制的过程中可以随时点击暂停:4.录制完成无须操

Python 绘图与可视化 seaborn

Seaborn是一个基于matplotlib的Python数据可视化库.它提供了一个高级界面,用于绘制有吸引力且信息丰富的统计图形. 主页:http://seaborn.pydata.org/ 官方教程:http://seaborn.pydata.org/tutorial.html#tutorial 功能介绍:http://seaborn.pydata.org/introduction.html#introduction 设置样式的:https://www.cnblogs.com/gczr/p/

如何用Mac自带的QuickTime Player录制视频并制作GIF动图

https://www.jianshu.com/p/bf3532bbc208 https://image.online-convert.com/convert-to-gif 原文地址:https://www.cnblogs.com/xiaomili/p/11507401.html

Matplotlib:绘图和可视化

Matplotlib:绘图和可视化 简介 简单绘制线形图 plot函数 支持图类型 保存图表 一 .简介 Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分析的最重要的工作之一,可以帮助我们完成很多操作,例如:找出异常值.必要的一些数据转换等.完成数据分析的最终结果也许就是做一个可交互的数据可视化. 安装方式: pip install matplotlib 引用方法: import matplotlib.pyplot as plt 二 .简单绘制线形图

手把手教你做一个python+matplotlib的炫酷的数据可视化动图

1.效果图 2.注意: 上述资料是虚拟的,为了学习制作动图,构建的. 仅供学习, 不是真实数据,请别误传. 当自己需要对真实数据进行可视化时,可进行适当修改. 3.代码: #第1步:导出模块,固定 import pandas as pd import matplotlib.pyplot as plt import matplotlib.ticker as ticker import matplotlib.animation as animation #第2步:中文字体显示设置1,导出通用字体设置