『Python』matplotlib实现动画效果
2024-08-29 19:50:26
一般而言,在绘制复杂动画时,主要借助模块animation
来完成
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from matplotlib.animation import FuncAnimation
# mpl.use("Qt5Agg")
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['font.serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串
fig, ax = plt.subplots(1, 1)
x = np.linspace(0, 2 * np.pi, 5000)
y = np.exp(-x) * np.cos(2 * np.pi * x)
line, = ax.plot(x, y, color="cornflowerblue", lw=3)
ax.set_ylim(-1.0, 1.0)
# to clear current frame
def init():
line.set_ydata([np.nan] * len(x))
return line,
# to update the data
def animate(data):
line.set_ydata(np.exp(-x) * np.cos(2 * np.pi * x + float(data) / 100))
return line,
# to call class FuncAnimation which connects animate and init
ani = FuncAnimation(fig, animate, init_func=init, frames=200, interval=2, blit=True)
# to save the animation
ani.save("movie.mp4", fps=20, writer="ffmpeg")
plt.show()
下面展示其中的4帧结果
line,
中的逗号是不能省略的,不然就不是Line2D
对象了
FuncAnimation
的构造函数主要的参数有Figure
对象、函数func
、帧数frames
,帧时间间隔interval
最新文章
- 菜鸟快飞之JavaScript对象、原型、继承(一)
- div不换行_div同行_div强制不换行
- socketAPI:一个最简单的服务器和对应的客户端C语言的实现
- 9月20日上午JavaScript函数
- ORACLE分页查询SQL语法——最高效的分页
- Android启动Activity的两种方式与四种启动模式
- jquery easyui防止超出浏览器边界
- Zabbix3.0完整部署
- vert.x 学习笔记
- python3实现感知器,简单神经网络
- [翻译]60,000毫秒内对Linux进行性能诊断
- MVC实现删除数据库记录
- PHP获取指定函数定义在哪个文件中及行号
- spring 下载
- spring boot 2.0 + 静态资源被拦截,怎么办?
- 51nod 1443 路径和树(最短路)
- CFGym 101490J 题解
- Python 小知识点(8)-- __new__
- explain获得使用的key的数据
- 线程池ThreadPool详解
热门文章
- NOIP 模拟 $25\; \rm random$
- NOIP 模拟 $12\; \text{简单的填数}$
- 题解 P3941 入阵曲
- EZpop分析
- 把 nodejs koa2 制作的后台接口 部署到 腾讯云服务器
- FileUtils常用方法 - commons-io常用工具类
- 在Java泛型
- Difference between trustStore and keyStore in Java - SSL
- JavaWeb之JavaMail
- spring-data-redis 连接泄漏,我 TM 人傻了