Python+Matplotlib制作动画

注: 在“实验设计与数据处理”的课后作业中,有一个数据可视化的作业,利用课程上学习的某种方法找一个二维函数的最大值,并将这个寻找的过程可视化。在作业里面利用了Matplotlib的Animation类实现可视化的动态展示。

1、引言

利用Animation类制动画主要是参考了官方的教程:。为了更加清析说明Animation类是如何实现动画的,本文只简单地介绍一个点沿着sin函数运动的例子,分析一下Animation实现动画的原理。其它复杂的动画同样也是据此原理,可以实现下面的动画效果。第3幅图是作业的一个效果图。

sin函数点运动 二阶摆钟(官方例子)

fig-sin_test1

 

fig-double_pendulum1

 

fig-optimization_dichotomy_max

 
2、动画实现

这里主讲述上面的sin函数点运动的动画的实现。代码的运行环境为Python3.6 + Jupyter5.4。

2.1 准备背景

在绘制动画前,我们需将其sin函数的背景绘制出来。这一步很简单,与我们平时的绘图一样。

import numpy as np import matplotlib import matplotlib.pyplot as plt import matplotlib.animation as animation # 指定渲染环境 %matplotlib notebook # %matplotlib inline x = np.linspace(0, 2*np.pi, 100) y = np.sin(x) fig = plt.figure(tight_layout=True) plt.plot(x,y) plt.grid(ls="--") plt.show()

fig-sin_bg

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxjzw.html