轮廓动画

时间:2015-04-27 16:13:51

标签: python animation matplotlib

我正在使用for循环来计算20x20矩阵的每个节点的值并将数据存储在

MM = [] 

我想为结果设置动画,我的代码如下所示:

ax = plt.subplot(111) 
for i in range(60): 
    x = MM[i]  
    ax.contourf(X,Y,x, cmap = cm.hot) 
    plt.draw()                            

plt.show()

问题是它只显示MM [-1]。 我已经查看了这里给出的示例,但无法弄清楚如何使其工作。 谢谢。

1 个答案:

答案 0 :(得分:0)

您的问题可能是由于您运行Matplotlib以及您正在使用的图形backend。以下示例适用于IPython。请注意,我调用ion()将交互模式设置为on。

from matplotlib import pyplot as plt
import numpy as np

x = y = np.arange(-3.0, 3.01, 0.025)
X, Y = np.meshgrid(x, y)

plt.ion()
ax = plt.subplot(111) 
for i in range(1,20): 
    Z1 = plt.mlab.bivariate_normal(X, Y, 0.5+i*0.1, 0.5, 1, 1)
    ax.contourf(x,y,Z1, cmap = plt.cm.hot) 
    plt.draw()    

plt.show()

信息here应该可以帮助您运行动画。