我正在使用 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()
此处的信息应该可以帮助您运行动画。