Mam siatkę NxN z pewnymi wartościami, które zmieniają się za każdym razem. Znalazłem sposób na wykreślenie pojedynczej konfiguracji siatki z funkcją matshow
, ale nie wiem jak zaktualizować status za każdym razem. Oto prosty przykład:
Animacja zmian siatki kwadratowej (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()
Ten kod daje następujący obraz:
Teraz wyobraź sobie, że następnym krokiem czas niektóre wartości zmienić, dlatego należy ten obraz. Taką logikę miałem na myśli:
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()
Powoduje to utworzenie 10 zdjęć. Chciałbym animować to, zamiast tworzyć pojedyncze obrazy, i na przykład chciałbym wybrać krok czasowy pomiędzy zmianami (czyli liczbą klatek na sekundę).
Ponadto, jestem otwarty na sugestie dotyczące różnych funkcji, jeśli nie jest to droga, którą można wykonać, ale proszę, proszę bardzo, jestem stosunkowo niedoświadczony.
Dziękuję, tego właśnie szukałem. – enedene
Powinienem był zapytać o to w pytaniu, ale czy istnieje sposób na umieszczenie warunku na a-b, aby animacja została zatrzymana i pozostała tylko ostatnia figura (tak jakbym robiła statyczne spisek). Na przykład, jeśli max (a-b)> 22? – enedene
@bmu Wziąłem sobie możliwość dodania kilku klatek twojego "filmu" jako animowanego gif - świetna odpowiedź! Patrząc na animację, sugerowałbym, że pasek koloru ma ustalone limity, więc nie zmienia się podczas animacji. – Hooked