#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
переменной