• Animation 动画


    1、定义方程

    使用matplotlib做动画也是可以的,我们使用其中一种方式,function animation来说说, 具体可参考matplotlib animation api。首先,我们做一些准备工作:

    from matplotlib import pyplot as plt
    from matplotlib import animation
    import numpy as np
    fig, ax = plt.subplots()

    我们的数据是一个0~2π内的正弦曲线:

    x = np.arange(0, 2*np.pi, 0.01)
    line, = ax.plot(x, np.sin(x))
    plt.show()

    接着,构造自定义动画函数animate,用来更新每一帧上各个x对应的y坐标值,参数表示第i帧:

    def animate(i):
        line.set_ydata(np.sin(x + i/10.0))
        return line,

    然后,构造开始帧函数init

    def init():
        line.set_ydata(np.sin(x))
        return line,

    2、参数设置

    接下来,我们调用FuncAnimation函数生成动画。参数说明:

    1. fig 进行动画绘制的figure
    2. func 自定义动画函数,即传入刚定义的函数animate
    3. frames 动画长度,一次循环包含的帧数
    4. init_func 自定义开始帧,即传入刚定义的函数init
    5. interval 更新频率,以ms计
    6. blit 选择更新所有点,还是仅更新产生变化的点。应选择True,但mac用户请选择False,否则无法显示动画
    ani = animation.FuncAnimation(fig=fig,
                                  func=animate,
                                  frames=100,
                                  init_func=init,
                                  interval=20,
                                  blit=False)
    plt.show()

    当然,你也可以将动画以mp4格式保存下来,但首先要保证你已经安装了ffmpeg 或者mencoder, 更多信息参考matplotlib animation api

    ani.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])
  • 相关阅读:
    DHCP工作过程
    园区网——网络架构
    ARP协议
    网络拓扑结构设计+网络设备简介
    Linux- 常用命令
    Linux-FTP
    【noip2018】【luogu5021】赛道修建
    【noip2018】【luogu5024】保卫王国
    【codeforces】【Round#523D】TV shows
    【bzoj4810】【ynoi2018】由乃的玉米田
  • 原文地址:https://www.cnblogs.com/anhoo/p/9388640.html
Copyright © 2020-2023  润新知