matplotlib / pyplot / 一定時間ごとに何かを動かす FuncAnimation()
参考: Pythonからはじめる数学入門, p.163-165
from matplotlib import pyplot as plt from matplotlib import animation from math import sin def createCircle(): return plt.Circle((0,0), 1) def movePos(i, circle): # i はフレーム番号。 circle.center = (8*sin(i/10), 0) return circle def animate(): fig = plt.gcf() ax = plt.axes(xlim=(-10,10), ylim=(-2,2)) ax.set_aspect("equal") circle = createCircle() ax.add_patch(circle) sute = animation.FuncAnimation(fig , movePos , fargs=(circle,) , # フレーム番号以外に movePos() に渡す引数。カンマが入っているのはタプルにするため。リストでも動く。 interval=1000/60 , #frames=10 , #repeat=False , ) plt.show() animate()