[Matplotlib] 动态视频生成

安装 matplotlib

打开 cmd

cmd 复制代码
pip install matplotlib

ffmpeg 环境搭建

下载压缩包:

  1. https://www.gyan.dev/ffmpeg/builds/

  2. 访问码:z714

  3. csdn

并解压到固定文件夹, 并记录: /Path2Fold/bin/

环境变量注册

在 Path 中添加目录 /Path2Fold/bin/

打开 Python

执行下述代码

python 复制代码
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib.animation import FFMpegWriter

# 初始化画布
fig, ax = plt.subplots(figsize=(10, 6))
ax.set_xlim(-np.pi/2,  np.pi/2)
ax.set_ylim(-1.5, 1.5)
ax.set_xlabel("x")
ax.set_ylabel("y = cos(t)·cos(x)")
ax.grid(True, alpha=0.3)

# 生成数据
x = np.linspace(-np.pi/2,  np.pi/2, 100)
line, = ax.plot(x, np.cos(x), 'b-', lw=2)

# 更新函数
def update(frame):
    t = frame * 0.1*np.pi
    y = np.cos(t) * np.cos(x)
    line.set_ydata(y)
    ax.set_title(f"Dynamic Wave: t = {t:.2f}")
    return line,

# 创建动画
ani = animation.FuncAnimation(
    fig, update, frames=200, interval=50, blit=True, repeat=False
)

# 保存视频
writer = FFMpegWriter(fps=20, bitrate=5000)
ani.save("cos_wave.mp4", writer=writer)
plt.show()

视频效果

cos_wave

相关推荐
写代码的【黑咖啡】1 小时前
Python中的JSON处理(标准库)
开发语言·python·json
梨子串桃子_8 小时前
推荐系统学习笔记 | PyTorch学习笔记
pytorch·笔记·python·学习·算法
文言一心9 小时前
LINUX离线升级 Python 至 3.11.9 操作手册
linux·运维·python
诗词在线10 小时前
中国古代诗词名句按主题分类有哪些?(爱国 / 思乡 / 送别)
人工智能·python·分类·数据挖掘
高锰酸钾_10 小时前
机器学习-L1正则化和L2正则化解决过拟合问题
人工智能·python·机器学习
天天睡大觉10 小时前
Python学习11
网络·python·学习
智航GIS10 小时前
11.11 Pandas性能革命:向量化操作与内存优化实战指南
python·pandas
写代码的【黑咖啡】11 小时前
Python中的Selenium:强大的浏览器自动化工具
python·selenium·自动化
抠头专注python环境配置11 小时前
解决Windows安装PythonOCC报错:从“No module named ‘OCC’ ”到一键成功
人工智能·windows·python·3d·cad·pythonocc