我在matlab中有这个代码(在一个函数中):
...
m = size(myList, 3);
for k = 1:m
g = myList(:, :, k);
image(g + 1)
axis off
axis square
M(k) = getframe;
end;
和另一个文件(另一个函数):
...
M = showGraphs(grids)
movie(M, 1)
我想在matplotlib中制作电影。到现在为止,我做了(第一段代码):
m=sc.shape(myList,3)
for k in range(m):
g=myList[:,:,k]
plt.axis("False")
plt.imshow(g+1) -->> i don't know if it's right
我不知道如何处理M(k)=getframe
,然后使用movie(M,1)
。
我该怎么办?因为我对matplotlib中的方式感到困惑。
----修订------------------------------
我做了:
n=sc.shape(data)[2]
ims=[]
for i in range(n):
mydata=data[:,:,i]
im=plt.imshow(mydata,cmap=plt.get_cmap('jet'))
ims.append([im])
return ims
然后:
fig=plt.gcf()
ani=ArtistAnimation(fig,result,interval=10,repeat=False)
答案 0 :(得分:1)
有很多不同的方法,请参阅动画示例:http://matplotlib.sourceforge.net/examples/animation/index.html