9.Matplotlib绘图--动画

有的候想知道不同参数,在不同时刻下的连续图形,这个在模拟仿真时特别有用。

其实原理很简单:就是创建一幅图,定义图形中曲线,标注等各个对象,然后在不同时刻,更新这些对象的数据,matplotlib会根据新的数据自动刷新图形。主要动过matplotlib.animation.FuncAnimation:类实现

class animation.FuncAnimation: 主要参数

fig:创建的画布

func:每一帧调用一次,更新数据的函数,返回值要与init_func相同,可迭代的图形对象

init_func:初始化函数,返回值就是初次更新的对象

frames:模拟多少帧画面,相当于时间轴,不同时刻的t,相当于func的参数

interval:刷新频率,单位ms

blit:告诉动画只重绘修改部分,blit=true会显示更快

实例1:动态正弦曲线

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import animation

#创建画布
fig,ax = plt.subplots()
x=np.arange(0, 2*np.pi, 0.01)
#构造曲线的数据
line, =ax.plot(x, np.sin(x))
#更新曲线数据
def animate(i):
    print(i)
    line.set_ydata(np.sin(x+i/10))
    return line,
def init():
    line.set_ydata(np.sin(x))
    return line,

ani = animation.FuncAnimation(fig=fig,func=animate,init_func=init,interval=20)
plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值