正弦波动态曲线,实时可视化。用FuncAnimation快速生成动态图表,适合实时数据可视化。
1、代码:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
# ① 初始化画布和数据容器
fig, ax = plt.subplots()
x_data, y_data = [], []
line, = ax.plot([], [], 'b-') # 空线条
ax.set_xlim(0, 10) # 固定坐标轴范围(动态范围需在update中调整)
ax.set_ylim(-1, 1)
# ② 定义更新函数(逐帧操作)
def update(frame):
x_data.append(frame * 0.1) # 新x值
y_data.append(np.sin(frame * 0.1)) # 新y值
line.set_data(x_data, y_data) # 更新线条数据
return line, # 必须返回可迭代对象
# ③ 创建动画
ani = FuncAnimation(
fig,
update,
frames=100, # 总帧数(如frame=0到99)
interval=50, # 帧间隔(毫秒)
blit=True # 仅重绘变化部分(加速渲染)
)
plt.show() # 显示动画
# ani.save('wave.gif', writer='pillow') # 保存为GIF(需安装pillow)
2、要点说明
3、效果
生成正弦波动态曲线,可调整frames和interval控制速度与流畅度。
Matplotlib 的 animation 模块允许将静态图表转化为动态可视化,适用于实时数据、模拟结果或过程演示。核心是通过逐帧更新图表元素(如线条、散点)实现动画效果,无需依赖外部工具。
一句话总结:FuncAnimation + 更新函数 = 用代码“动”起来你的数据
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。