Как сохранить фигуру png из Matplotlib в переменной?

#python-3.x #matplotlib #gif

#python-3.x #matplotlib #gif — файл

Вопрос:

У меня есть код, который создает 20 изображений, которые я хочу сохранить как GIF. Вместо того, чтобы сохранять каждое изображение по отдельности, а затем повторно загружать их в программу, чтобы сделать из них GIF, я хочу, чтобы png-версии оси сохранялись в списке, чтобы я мог пропустить часть сохранения и перезагрузки.

Вот как я сейчас это делаю:

 from matplotlib import pyplot as plt
import imageio

def make_gif(gif_direc, video_frames):
    fig1 = plt.Figure()
    axes = fig1.add_subplot()

    for j in range(20):
        axes.clear()
        # Here I would plot all the stuff onto the axis.
        fig1.savefig(gif_direc   "Frame_"   str(j   1)   ".png", format="png")

    images = []
    for j in range(20):
        images.append(imageio.imread(gif_direc   "Frame_"   str(j   1)   ".png"))

    # Now the GIF is saved.
    imageio.mimsave(gif_direc   "Particle Impact.gif", images, duration=0.25)
 

Комментарии:

1. вы могли бы использовать FuncAnimation , как хорошо показано здесь: eli.thegreenplace.net/2016 /…

2. Спасибо за ответ. Поскольку я не хочу использовать ax в качестве глобальной переменной, как я могу передать ее методу обновления, который был описан в блоге?

3. если вы определите свой метод обновления в своей make_gif функции, он будет иметь доступ к вашей axes переменной