GIF,Python并排Sid

2024-05-13 19:42:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两张单子

globalCache - [4000 of 2D Numpy Array (200,200) size].
globalCache1 - [4000 of 2D Numpy Array (200,200) size].

每个缓存都有4000个由0和1组成的2D NumPy数组

到目前为止,我正在尝试创建一个动画GIF,其中的4000个图像是并排放置的:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as anim

class AnimatedGif:
    def __init__(self, size=(680, 520)):
        self.fig, self.fig_axes = plt.subplots(1,2)

        self.fig.set_size_inches(size[0] / 50, size[1] / 100)

        self.fig_axes[0].set_xticks([])
        self.fig_axes[0].set_yticks([])

        self.fig_axes[1].set_xticks([])
        self.fig_axes[1].set_yticks([])

        self.images = []

    def add(self, image1,image2, label='', _stck1=-999, _stck2=-999):

       self.fig_axes[0].imshow(image1, vmin=0, cmap = 'copper', vmax=1, animated=True)
       self.fig_axes[1].imshow(image2, vmin=0, cmap = 'copper', vmax=1, animated=True)

       lbl = int(int(label)/100 * 100)
       if lbl == 0:
           lbl = ''
       self.fig_axes[0].text(-30,10, lbl, fontsize=15, color='red')
       self.fig_axes[0].text(200, 10, 'Stickiness : {0}'.format(_stck1),fontsize=12, color='red')

       self.fig_axes[1].text(-30,10, lbl, fontsize=15, color='red')
       self.fig_axes[1].text(200, 10, 'Stickiness : {0}'.format(_stck2),fontsize=12, color='red')
       self.artists.append(self.fig_axes[0].get_children())
       self.artists.append(self.fig_axes[1].get_children())

    def save(self, filename):
       animation = anim.ArtistAnimation(self.fig, self.artists)
       animation.save(filename, writer='imagemagick', fps=50)

但当我用

animated_gif = AnimatedGif()

for i in range(len(globalCache)):

    animated_gif.add(globalCache1[i], 
                     globalCache[i], 
                     label=str(i), 
                     _stck1 = '1', _stck2 = '0.1')
    if i == 100 : break

animated_gif.save('ouput.gif')

我得到以下输出:

enter image description here

预期的输出是这样的(单个GIF是使用Python创建的,然后使用联机工具并排放置)

enter image description here

你知道我哪里出错了吗


Tags: textimportselfsizeasfigredgif