利用Python中 numpy 模块matplotlib.pyplot模块 matplotlib.animation模块模拟简单动画

-- coding: utf-8 --

from future import unicode_literals
import numpy as np #导入模块
import matplotlib.pyplot as mp
import matplotlib.animation as ma

mp.figure(“Signal”)#创建窗口对象
mp.xlabel(‘Time’)#设置x轴标签
mp.ylabel(‘Signal’)#y轴标签
ax = mp.gca()#获取当前坐标图对象
ax.set_ylim(-3, 3)#设置y轴坐标范围
ax.set_xlim(0, 10)#设置x轴坐标范围
mp.tick_params(labelsize=10)#设置坐标参数(字体大小)
mp.grid(linestyle=’:’)#设置网格线(虚线)
pl = mp.plot([], [], color=’orangered’)[0]#获取当前轴对象
pl.set_data([], [])

设置回调函数

def update(data):
t, v = data
x, y = pl.get_data()
x.append(t)
y.append(v)
x_min, x_max = ax.get_xlim()
if t >= x_max:
ax.set_xlim(t - (x_max - x_min), t)
ax.figure.canvas.draw()
pl.set_data(x, y)

设置生成器函数

def generator():
t = 0
while True:
v = np.sin(2 * np.pi * t) * np.exp(np.sin(0.2 * np.pi * t))
yield t, v
t += 0.05

anim = ma.FuncAnimation(mp.gcf(), update, generator, interval=5)#interval回调周期
mp.show()

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值