python【Matlibplot绘图库】Animation动画(真の能看懂~!)
文章目录
- 1 代码
- 2 效果
- 3 解释
1 代码
from matplotlib import pyplot as plt
from matplotlib import animation
import numpy as np
fig, ax = plt.subplots()
def animate(i):line.set_ydata(np.sin(x + i/10.0))return line,def init():line.set_ydata(np.sin(x))return line,x = np.arange(0, 2*np.pi, 0.01)
line, = ax.plot(x, np.sin(x))ani = animation.FuncAnimation(fig=fig,func=animate,frames=100,init_func=init,interval=20,blit=False)plt.show()
2 效果
3 解释
定义方程
使用matplotlib做动画也是可以的,我们使用其中一种方式,function animation来说说, 具体可参考matplotlib animation api。首先,我们做一些准备工作:
from matplotlib import pyplot as plt
from matplotlib import animation
import numpy as np
fig, ax = plt.subplots()
我们的数据是一个0~2π内的正弦曲线:
x = np.arange(0, 2*np.pi, 0.01)
line, = ax.plot(x, np.sin(x))
Animation 动画
接着,构造自定义动画函数animate,用来更新每一帧上各个x对应的y坐标值,参数表示第i帧:
def animate(i):
line.set_ydata(np.sin(x + i/10.0))
return line,
然后,构造开始帧函数init:
def init():
line.set_ydata(np.sin(x))
return line,
参数设置
接下来,我们调用FuncAnimation函数生成动画。参数说明:
fig 进行动画绘制的figure
func 自定义动画函数,即传入刚定义的函数animate
frames 动画长度,一次循环包含的帧数
init_func 自定义开始帧,即传入刚定义的函数init
interval 更新频率,以ms计
blit 选择更新所有点,还是仅更新产生变化的点。应选择True,但mac用户请选择False,否则无法显示动画
ani = animation.FuncAnimation(fig=fig,
func=animate,
frames=100,
init_func=init,
interval=20,
blit=False)
显示动画:
plt.show()
当然,你也可以将动画以mp4格式保存下来,但首先要保证你已经安装了ffmpeg 或者mencoder, 更多信息参考matplotlib animation api:
ani.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])
python【Matlibplot绘图库】Animation动画(真の能看懂~!)相关推荐
- python【Matlibplot绘图库】-主要概念
文章目录 1.概述 2.各函数含义 3.numpy处理数据 1.概述 Matplotlib的GitHub链接: https://github.com/matplotlib/matplotlibMatp ...
- python 三维绘图库_Python第三方库matplotlib(2D绘图库)入门与进阶
Matplotlib 一 简介: Matplotlib是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形. Matplotlib可用于Python脚 ...
- python安装绘图库matplotlib_Python基础教程:Python 2D绘图库 Matplotlib 简介和安装
原标题:Python基础教程:Python 2D绘图库 Matplotlib 简介和安装 来自:Linux迷https://www.linuxmi.com/python-2d-matplotlib.h ...
- python【Matlibplot绘图库】利用matlibplot绘制雷达图
文章目录 1.基本构造 2.比较功能 1.基本构造 之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibpl ...
- python 3d绘图库_python – 用于科学3d绘图的Mayavi的替代品
在没有令人满意的第一个答案和无法解释的downvote之后编辑: 我需要绘制一个在3D网格中构造的标量字段,如下所示: import numpy as np from mayavi import ml ...
- python 第三方绘图库_D3py首页、文档和下载 - 基于 D3 的 Python 绘图库 - OSCHINA - 中文开源技术交流社区...
D3py 是一个基于 D3 的 Python 绘图库,可以像 D3 那样画出可交互的漂亮图形. D3py 的目的是把来自命令行或者脚本的数据画到浏览器窗口,d3py 通过构建两个优秀的包来实现这一点. ...
- python绘图库seaborn_Matplotlib Toolkits:python高级绘图库seaborn
Seaborn介绍 seaborn (Not distributed with matplotlib) seaborn is a highlevel interface for drawing sta ...
- python安装绘图库matplotlib_python绘图库Matplotlib的安装
导读热词 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地 进行 ...
- python安装绘图库_python绘图库Matplotlib的安装
本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地 进行制图.Ma ...
最新文章
- Python 小程序(2)
- 15 个 JavaScript Web UI 库 (转)
- HDU 5816 Hearthstone
- mysql 高级语法,SQL 语法高级
- C#实现软键盘的几个关键技术实现方法
- java 永久代_Java新生代、老生代和永久代详解
- mongodb 怎样检测 安装成功 以及mongodb的一些增删改查命令
- 有啥区别?谷歌Chrome浏览器图标8年来首次更新
- SAP License:BSEG与FAGLFLEXA (A)表数据不一致问题
- MySQL数据库几种常用的索引类型使用介绍
- IE下判断IE版本的语句...[if lte IE 8]……[endif]
- 解决--网页兼容模式下虚拟打印保存为pdf乱码
- 【金猿投融展】Techsun天正聚合——联接品牌与人
- nvme SSD和sata SSD的对比
- 微信小程序超级占内存_微信小程序占内存吗?
- 小米手机4获取ROOT权限的步骤
- python获取四六级成绩单
- 2020个人所得税,税前工资 和 到手工资的相互计算源码(java)
- docker学习5-docker安装tomcat环境和部署war包
- 大长今人物系列:长今心理第二课——申主簿(转载)
热门文章
- 人脸关键点 PFLD
- 终止代码driver_irql_not_less_or_equal
- haar 人脸检测跟踪源码整理
- php加密姆巴佩浪费时,白给都不要?姆巴佩浪费三次良机!年轻人后浪太紧张?...
- java 调用autoit_Java中调用AutoIt操作控件
- java调用存储过程 oracle_java调用oracle存储过程
- linux循环读取文件里的ip,自动获取文件里IP的shell脚本
- mysql三个字段最优索引_mysql 多列索引优化
- vba 指定列后插入列_如何用【VBA】快速批量提取多个工作表名称?
- js实现表格无缝滚动效果