gif
is a better way to build animated Matplotlib gifs.
pip install -U gif
gif
is easy to use. Just import:
import gif
from matplotlib import pyplot as plt
Decorate a Matplotlib plot function with gif.frame
:
@gif.frame
def plot(x, y):
plt.figure(figsize=(5, 3), dpi=100)
plt.scatter(x, y)
plt.xlim((0, 100))
plt.ylim((0, 100))
Build a bunch of "frames" with a standard for loop:
from random import randint
frames = []
for _ in range(50):
x = [randint(0, 100) for _ in range(10)]
y = [randint(0, 100) for _ in range(10)]
frame = plot(x, y)
frames.append(frame)
Select the duration (milliseconds) between each frame and save:
gif.save(frames, "examples/chaos.gif", duration=100)
Chaos (code):
Preferential Attachment (code, theory):
Hypothetical Outcome Plot (code, original):
Polar Plot (code, data, inspiration):
Tornado (code, inspiration):