如何在Matplotlib中添加动画时间控制条?求简便实现方法
简便实现Matplotlib动画控制条的方法
1. Jupyter Notebook/Lab 环境(最省事)
在代码最开头加一行魔法命令:
%matplotlib notebook
接着运行官网给的动画示例代码,比如FuncAnimation的例子,就能自动出现带播放、暂停、进度拖动、反向控制的工具栏,和官网展示的控制条完全一致。
2. 本地Python脚本环境
如果是在本地跑脚本,直接切换到带交互控件的后端就行,比如Qt后端:
import matplotlib matplotlib.use('Qt5Agg') import matplotlib.pyplot as plt import numpy as np from matplotlib.animation import FuncAnimation # 示例动画代码(官网同款逻辑) fig, ax = plt.subplots() line, = ax.plot([], [], lw=2) def init(): ax.set_xlim(0, 2*np.pi) ax.set_ylim(-1, 1) return line, def update(frame): x = np.linspace(0, 2*np.pi, 1000) y = np.sin(x + frame/10) line.set_data(x, y) return line, ani = FuncAnimation(fig, update, frames=100, init_func=init, blit=True) plt.show()
运行后会弹出Qt窗口,窗口自带的工具栏里就有动画控制按钮,功能和官网的控制条一模一样。
要是你不想换后端,也可以用ani.to_html5_video()生成带控制条的HTML5视频,但这个需要依赖ffmpeg,步骤相对繁琐,不如上面两种直接。
内容的提问来源于stack exchange,提问作者Johncowk
相关产品推荐
相关产品推荐

