from tempfile import NamedTemporaryFile import matplotlib.pyplot as plt from matplotlib import animation from IPython.display import HTML import numpy as np IMG_TAG = """some_text""" def anim_to_gif(anim): data="0" with NamedTemporaryFile(suffix='.gif') as f: anim.save(f.name, writer='imagemagick', fps=10); data = open(f.name, "rb").read() data = data.encode("base64") return IMG_TAG.format(data) def display_animation(anim): plt.close(anim._fig) return HTML(anim_to_gif(anim)) fig = plt.figure() fig.set_dpi(100) fig.set_size_inches(7, 6.5) ax = plt.axes(xlim=(0, 10), ylim=(0, 10)) patch = plt.Circle((5, -5), 0.75, fc='y') patch2 = plt.Circle((5, -5), 0.1, fc='b') c= np.array([5,5]) def init(): patch.center = (5, 5) ax.add_patch(patch) ax.add_patch(patch2) return patch, def animate(i): x = 5 + 3 * np.sin(np.radians(i)) y = 5 + 3 * np.cos(np.radians(i)) patch.center = (x, y) patch2.center = (x-0.6*np.sin(np.radians(5*i)),y+0.6*np.cos(np.radians(5*i))) return patch2, anim = animation.FuncAnimation(fig, animate, init_func=init, frames=[5.8*x for x in range(62)], interval=1, blit=True) display_animation(anim)