Così, ho imparato a creare animazioni carine in Matplotlib. Ad esempio, questo:Animazioni Matlotlib: come esportarli in un formato da utilizzare in una presentazione?
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()
Questo funziona ed è molto bello. Ma come lo uso per realizzare un film che posso visualizzare, ad esempio, in una presentazione in formato PDF? Ho provato a fare fig.savefig("test.gif")
ma c'è un messaggio di errore che indica che matplotlib non esporta gif.
C'è un modo per farlo senza ricorrere a strumenti esterni (come fare un sacco di png e cucirli insieme)?
+1. Tuttavia, probabilmente stai pensando a mencoder invece di memcoder, giusto? – EOL
Esatto, quindi aggiungo semplicemente 'fig.savefig (" foo% d.png "% i)' per salvare ogni frame e usare mencoder? –
Esattamente. Questo è ciò che fa il nuovo modulo di animazione. Se non vuoi usare il modulo, chiama mencoder da python e poi puoi scollegare i file foo * png in seguito. – Yann