matplotlib的动画一直是一个强大但使用频率不高的功能,究其原因,
一方面展示动画需要一定的媒介,没有图形和文字展示方便;
二来大家更关心的是分析结果的最终图表,图表的动态展示则没有那么重要。
不过,随着短视频的兴起,在短视频平台上展示动画变得非常容易,
所以,我们发现有越来越多的数据分析动画(比如各种横向条形图的排名等等)出现在了短视频平台上。
通过动画来展示数据和模型的变化过程,可使数据的可视化更加生动形象,
随着各种平台的兴起,matplotlib的动画功能也因此有了更多的用武之地。
- 动画示例
介绍matplotlib的动画功能之前,先看用matplotlib制作的两个简单的的动画示例。
1.1. 单个动画
首先是单个动画,绘制一个正弦曲线。
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.animation as animation
x = np.linspace(-8, 8, 100)
y = np.sin(x)
fig, ax = plt.subplots()
(g,) = ax.plot(x, y)
def update(frame):
y = np.sin(x[:frame])
g.set_data(x[:frame], y)
animation.FuncAnimation(fig, update, interval=50, frames=len(x))
11.gif
1.2. 组合动画