2017-01-24 28 views
0

FuncAnimationを使用して、進化するマトリックスをアニメーション化したいと思います。私は複雑なものを使用する前に非常に単純な行列を使用しようとしましたが、単純なものでFuncAnimationを使用することはできません。私は他の投稿を見てみましたが、私がしたいことにそれらを適応させることはできません。ここで私がやろうとしたことはあるが動作しない。FuncAnimation with matrix

from numpy import * 
import matplotlib.pyplot as plt 
import matplotlib.animation as animation 
M=array([[0,0,100,100,100,100,100,100,300,300,300,300,300,300,500,500,500,500,500,500,1000,1000,1000,1000] for i in range(0,20)]) 

def update(i): 
M[7,i] =1000 
M[19-i,10]=500 
mat.set_array(modif(i,M)) 
return mat 

fig, ax = plt.subplots() 
matrice = plt.matshow(mat) 
plt.colorbar(matrice) 

ani = animation.FuncAnimation(fig, update, frames=19, interval=1500) 
plt.show() 

私はその進化を見るために動くマトリックスを見たいと思う。 アイデアがあれば、私に知らせてください(私が少し経験の浅い人でも)。 ありがとう!

答えて

0

コードが機能しない理由:matまたはmodifを定義していません。 また、新しいプロット(plt.matshow())を作成する代わりに、軸(ax.matshow())にプロットする必要があります。 以下は、あなたが望むことをする必要があります。

import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.animation as animation 

M=np.array([[0,0,100,100,100,100,100,100,300,300,300,300,300,300,500,500,500,500,500,500,1000,1000,1000,1000] for i in range(0,20)]) 

def update(i): 
    M[7,i] = 1000 
    M[19-i,10] = 500 
    matrice.set_array(M) 

fig, ax = plt.subplots() 
matrice = ax.matshow(M) 
plt.colorbar(matrice) 

ani = animation.FuncAnimation(fig, update, frames=19, interval=500) 
plt.show() 
+0

これはまさに私が望むように動作するようです。あなたの素早い答えをありがとう! – Fab

+0

この場合、[回答を受け入れる](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)する必要があります。レピュテーションポイントが増えたら、適切と思われる回答をupvoteできます。 – ImportanceOfBeingErnest