Ho una griglia NxN con alcuni valori, che cambiano ogni volta che passo. Ho trovato un modo per tracciare una configurazione a griglia singola di questo con la funzione matshow
, ma non so come aggiorno lo stato ad ogni passo temporale. Ecco un semplice esempio:
Modifica griglia quadratica animata (matshow)
from pylab import *
from matplotlib import pyplot
a = arange(25)
a = a.reshape(5,5)
b = 10*rand(5,5)
matshow(a-b, cmap = cm.jet)
colorbar()
show()
Questo codice produce il seguente quadro:
Ora immaginate che il passo successivo tempo alcuni valori cambiano, in modo opportuno questa immagine. Questa è la logica che avevo in mente:
from pylab import *
from matplotlib import pyplot
a = arange(25)
a = a.reshape(5,5)
time=10
for t in range(time):
b = 10*rand(5,5)
print b
matshow(a-b, cmap=cm.jet)
colorbar()
show()
Questo produce 10 immagini. Mi piacerebbe animare questo invece di produrre singole immagini, e per esempio mi piacerebbe scegliere un passaggio temporale tra le modifiche (cioè la frequenza dei fotogrammi).
Inoltre, sono aperto a suggerimenti per diverse funzioni, se matshow
non è la strada da percorrere, ma per favore è semplice, sono relativamente inesperto.
Grazie, è quello che stavo cercando. – enedene
Avrei dovuto chiedere questo nella domanda, ma c'è un modo per mettere una condizione su a-b in modo che l'animazione si fermi, e rimane solo l'ultima cifra (come se avessi tracciato una trama statica). Ad esempio se max (a-b)> 22? – enedene
@bmu Mi sono preso la libertà di aggiungere alcuni fotogrammi del tuo "film" come una gif animata - ottima risposta! Guardando l'animazione, suggerirei che la barra di colore ha dei limiti fissi in modo che non cambi durante l'animazione. – Hooked