zoukankan      html  css  js  c++  java
  • python学习之matplotlib绘制动图(FuncAnimation()参数)

    1、函数FuncAnimation(fig,func,frames,init_func,interval,blit)是绘制动图的主要函数,其参数如下:

      a.fig 绘制动图的画布名称

      b.func自定义动画函数,即下边程序定义的函数update

      c.frames动画长度,一次循环包含的帧数,在函数运行时,其值会传递给函数update(n)的形参“n”

      d.init_func自定义开始帧,即传入刚定义的函数init,初始化函数

      e.interval更新频率,以ms计

      f.blit选择更新所有点,还是仅更新产生变化的点。应选择True,但mac用户请选择False,否则无法显

    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib.animation import FuncAnimation
    
    fig, ax = plt.subplots()   #生成子图,相当于fig = plt.figure(),ax = fig.add_subplot(),其中ax的函数参数表示把当前画布进行分割,例:fig.add_subplot(2,2,2).表示将画布分割为两行两列
                    #ax在第2个子图中绘制,其中行优先, xdata, ydata
    = [], [] #初始化两个数组 ln, = ax.plot([], [], 'r-', animated=False) #第三个参数表示画曲线的颜色和线型,具体参见:https://blog.csdn.net/tengqingyong/article/details/78829596 def init(): ax.set_xlim(0, 2*np.pi) #设置x轴的范围pi代表3.14...圆周率, ax.set_ylim(-1, 1)    #设置y轴的范围 return ln, #返回曲线 def update(n): xdata.append(n) #将每次传过来的n追加到xdata中 ydata.append(np.sin(n)) ln.set_data(xdata, ydata) #重新设置曲线的值 return ln, ani = FuncAnimation(fig, update, frames=np.linspace(0, 2*np.pi, 10), #这里的frames在调用update函数是会将frames作为实参传递给“n” init_func=init, blit=True) plt.show()

     PS:一般来说一个动图有两类函数,一类是初始化函数,另一类是需要更新的函数!!

    动图绘制的路线

  • 相关阅读:
    一个人是否靠谱,闭环很重要(深度)
    远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
    如何量化考核技术人的 KPI?
    ECharts
    Spring IO Platform介绍
    百亿级日访问量的应用如何做缓存架构设计?
    大型分布式系统中的缓存架构
    Delphi实现屏幕截图、窗口截图、指定区域截图
    Delphi窗体重绘API
    GdiPlus 一个给 Delphi 提供的新的 GDI+ 接口很好用!
  • 原文地址:https://www.cnblogs.com/zhouzhe-blog/p/9614360.html
Copyright © 2011-2022 走看看