そこで、matplotlibでかわいいアニメーションを作る方法を学びました。たとえば、次のようになります。Matplotlibアニメーション - プレゼンテーションで使用する形式にエクスポートする方法
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
plt.ion()
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_xlim(0, 1)
ax.set_ylim(-2,2)
dt = 0.01
q = 0.01
t = np.arange(0,1,dt)
x = np.sin(2*np.pi*t)
line, = ax.plot(t,x, '-')
fig.canvas.draw()
for i in xrange(100):
x = (1-q) * x + q* np.random.normal(size = len(t))
line.set_ydata(x)
fig.canvas.draw()
これはうまくいきます。しかし、私はこれを使って、例えば、PDFプレゼンテーションのような映画を作ることができますか?私はfig.savefig("test.gif")
をしようとしましたが、matplotlibがgifをエクスポートしないことを示すエラーメッセージがあります。
外部ツールに頼らなくても(これは、たくさんのPNGを作成して一緒に縫い合わせるなど)、これを行う方法はありますか?
+1。しかし、あなたはおそらくmemcoderの代わりにmencoderを意味しますね。 – EOL
そうですね、各フレームを保存してmencoderを使用するには 'fig.savefig(" foo%d.png "%i")を追加するだけです。 –
正確に。これが、新しいアニメーションモジュールの機能です。モジュールを使いたくない場合は、pythonからmencoderを呼び出し、その後、foo * pngファイルのリンクを解除することができます。 – Yann