有没有办法不显示Matplotlib FuncAnimation生成的.PNG图像?

有没有办法不显示Matplotlib FuncAnimation生成的.PNG图像?,matplotlib,animation,Matplotlib,Animation,我有一个脚本,它在循环中使用FuncAnimation例程生成许多不同的动画,这些动画保存在不同的目录中。我在Spyder中工作,每次生成动画时,控制台中都会显示一个.PNG图像 有没有办法不在每个动画中显示.PNG文件?我想关闭这个图像,因为它们将在一个长循环中填满我的控制台。生成简单绘图时,只需不调用plt.show即可轻松不显示图像。对于动画,plt.show被调用,但根本不被调用,图像仍然显示 您可以看到在中生成的.PNG图像: 保存动画后,通过调用plt.close(图),可以有效隐藏

我有一个脚本,它在循环中使用FuncAnimation例程生成许多不同的动画,这些动画保存在不同的目录中。我在Spyder中工作,每次生成动画时,控制台中都会显示一个.PNG图像

有没有办法不在每个动画中显示.PNG文件?我想关闭这个图像,因为它们将在一个长循环中填满我的控制台。生成简单绘图时,只需不调用
plt.show
即可轻松不显示图像。对于动画,
plt.show
被调用,但根本不被调用,图像仍然显示

您可以看到在中生成的.PNG图像:


保存动画后,通过调用
plt.close(图)
,可以有效隐藏与动画关联的.PNG图像。这个答案的灵感来源于一个类似的问题,这个问题是关于简单的情节而不是动画

import numpy as np
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import matplotlib.animation as animation

def update_line(num, data, line):
    line.set_data(data[..., :num])
    return line,

# Fixing random state for reproducibility
np.random.seed(19680801)

# Set up formatting for the movie files
Writer = animation.writers['ffmpeg']
writer = Writer(fps=15, metadata=dict(artist='Me'), bitrate=1800)

fig = plt.figure()
data = np.random.rand(2, 25)
l, = plt.plot([], [], 'r-')
plt.xlim(0, 1)
plt.ylim(0, 1)
line_ani = animation.FuncAnimation(fig, update_line, 25, fargs=(data, l),
                                   interval=50, blit=True)
line_ani.save('lines.mp4', writer=writer)