我应该为matplotlib动画使用哪个后端?

5 投票
1 回答
1586 浏览
提问于 2025-04-18 03:39

我有一个动画制作的任务,这个任务需要很长时间并且占用很多内存。我想把它提交到一个TORQUE队列里,但我不能在那些机器上使用X窗口系统。因为“默认”的matplotlib需要X,所以我需要这样导入它:

import matplotlib
matplotlib.use("AGG")
import matplotlib.pyplot as plt
...

传递给use()方法的东西叫做后端。关于后端的详细信息可以在这里找到。

如果我使用matplotlib.animate()并想把动画保存为mp4或theora格式,我应该使用哪个后端呢?

1 个回答

2

保存电影的工作是由animation模块中的writer对象来处理的,这和你用use设置的后端没有关系。如果你需要在没有X的情况下运行你的脚本,那么设置use('Agg')就是正确的选择。

可以查看如何在Python中生成电影而不保存单独的帧到文件以及animation.writer模块属性(这是一个记录你系统中matplotlib找到的写入器的注册表)。

撰写回答