From 363016782e581b98fd79d226c38302b540c9b215 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 28 Apr 2019 18:42:34 +0200 Subject: [PATCH] Alternative fix for passing iterator as frames to FuncAnimation --- lib/matplotlib/animation.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index bb3d686375d4..70500b34839c 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -1658,7 +1658,14 @@ def __init__(self, fig, func, frames=None, init_func=None, fargs=None, elif callable(frames): self._iter_gen = frames elif np.iterable(frames): - self._iter_gen = lambda: iter(frames) + if kwargs.get('repeat', True): + def iter_frames(frames=frames): + while True: + this, frames = itertools.tee(frames, 2) + yield from this + self._iter_gen = iter_frames + else: + self._iter_gen = lambda: iter(frames) if hasattr(frames, '__len__'): self.save_count = len(frames) else: