轮廓f动画



我正在使用 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]。我已经查看了这里给出的示例,但无法弄清楚如何使其工作。谢谢。

您的问题可能是由于您运行 Matplotlib 的方式以及您使用的图形后端。以下示例适用于 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()

此处的信息应该可以帮助您运行动画。

最新更新