Python 绘图与可视化 matplotlib 制作Gif动图
参考链接:https://blog.csdn.net/theonegis/article/details/51037850
官方文档:https://matplotlib.org/3.1.0/api/_as_gen/matplotlib.animation.FuncAnimation.html
我们可以使用Matplotlib的animation类的FuncAnimation()方法来制作动画,只需要提供一个动态更新数据的函数
需要注意的是,这个函数需要以元组的形式返回一个需要在下一次绘图中更新的数据
一个拥有详细解释的实例的链接:http://codingpy.com/article/drawing-gifs-with-matplotlib
有两点需要注意
- 图里的散点部分是不变的;变的是直线
- X 轴的标题每一帧都在变化
import numpy as np
import matplotlib as plt
from matplotlib import animationplt.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,lineif __name__=='__main__':#FuncAnimation会在每一帧都调用update函数#在这里设置一个10帧的动画,每帧之间间隔200msanim=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包没有用(已解决)
import seaborn as sns
sns.set_style('whitegrid')
转载于:https://www.cnblogs.com/Gaoqiking/p/11070652.html
Python 绘图与可视化 matplotlib 制作Gif动图相关推荐
- 用python画动图_Python 绘图与可视化 matplotlib 制作Gif动图
参考链接:https://blog.csdn.net/theonegis/article/details/51037850 我们可以使用Matplotlib的animation类的FuncAnimat ...
- python matpoltlib绘制动态图_使用Python、Geopandas和Matplotlib制作gif动态
原标题:使用Python.Geopandas和Matplotlib制作gif动态 不需要Photoshop:仅使用Python和命令行制作动画图表. 作为一种编程语言,Python非常灵活.这使得有时 ...
- python实现动态地图_使用Python、Geopandas和Matplotlib制作gif动态地图
不需要Photoshop:仅使用Python和命令行制作动画图表. 作为一种编程语言,Python非常灵活.这使得有时可以在几行代码中进行大量不同的可视化成为可能.但是现在有了很多不同的图表网站和软件 ...
- python绘图和可视化_Python 绘图和可视化详细介绍
Python之绘图和可视化 1. 启用matplotlib 最常用的Pylab模式的IPython(IPython --pylab) 2. matplotlib的图像都位于Figure对象中. 可以使 ...
- Python 绘图问题:Matplotlib中plt.rcParams[]使用方法 rcsetup.py matplotlibrc
文章目录 from `__init__.py` from matplotlibrc from rcsetup.py from __init__.py # this is the instance us ...
- python制作gif动图_短短几行Python代码制作的GIF动图
前言 想知道怎么用Python代码与动画结合起来,制作GIF动图,并展示给其他人看呢?gifmaze可以帮助你很好的制作GIF动图,效果超棒, 比inter,pyglet和pyqt同比之下,还要好一点 ...
- python matplotlib绘制gif动图以及保存
python matplotlib绘制gif动图以及保存 标签: python matplotlib 谨以此文纪念我两天来的悲剧 昨天我用lstm拟合sin曲线,看到别人画的做的动图很好看,并且还能保 ...
- python制作gif动画_实用的Python(2)利用Python制作gif动图
一.简介 moviepy是一个专门用于视频剪辑制作的模块,可以自动化完成很多繁琐的视频剪辑处理工作,除了处理视频数据之外,moviepy中还内置了可以制作gif动图的功能,通过使用moviepy.ed ...
- Python3,5行代码,制作Gif动图,太简单了。
gif动图制作 1.引言 2.代码实战 2.1 安装 2.2 代码 3.总结 1.引言 小屌丝:鱼哥, 你能不能帮我找一个动图, 小鱼:啥动图,你自己百度不就行了. 小屌丝:我这不是没找到吗, 不然我 ...
最新文章
- numpy.core.umath failed to import 如何解决
- SAP ABAP 特性相关表取数逻辑
- 1.7 Python基础知识 - 模块初识
- oracle回退脚本怎么写_直播间脚本要怎么写?李佳琦、薇娅直播间直播脚本解析!...
- [Unity 游戏设计的元素]
- Exception Handling Application Block (5)详细解
- 翁恺老师C语言学习笔记(十)指针_指针与数组
- 2022年考研数据结构_5 树
- eigrp 负载均衡和非负载均衡实验
- 虚拟机管理程序、虚拟化和云: 深入剖析 PowerVM 虚拟机管理程序
- origin 粘贴格式
- 飞鸽传书2007绿色版EM为内部即时通讯
- Java 导出时序折线图到Excel
- python实现免费同声传译 (离线语音识别+免费翻译接口+系统声音录制)
- 奥维地图看历史影像_如何在奥维中使用中国资源卫星影像图 | 奥维互动地图浏览器...
- 模拟电路设计(39)---一文搞懂直流电源EMI滤波器
- 软件工程McCabe环路复杂度计算,自环情况详解。
- 生成二维码附带文字信息
- javaweb基于SSM开发学生请假管理系统 课程设计 毕业设计源码
- 求助一下各位大佬 !是什么意思
热门文章
- java 手机音频播放,用Java实现音频播放
- python 类 公有属性、私有属性、公有方法、私有方法
- 人脸检测--Face Detection with End-to-End Integration of a ConvNet and a 3D Model
- 【linux】lsof的常用命令汇总
- 【windwos bat】批量把windows下的wav文件转为raw文件
- LeetCode 217 Contains Duplicate--python,java解法--set--简单
- java用户输入解析_Java中的3种输入方式实现解析
- 【Netty】ByteBuf--Netty的数据容器
- Python学习六大路线,教你快速上手
- 失败 安装scikit_scikit-learn0.22版本最新发布