我正在尝试为等高线图制作动画。以下示例足够接近我想要实现的内容(来自this archive):
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 2 * np.pi, 0.1)
X,Y = np.meshgrid(x,x)
f1 = np.sin(X) + np.sin(Y)
f2 = np.cos(X) + np.cos(Y)
plt.figure()
C = plt.contourf(f1)
plt.show()
for coll in C.collections:
plt.gca().collections.remove(coll)
C = plt.contourf(f2)
plt.draw()
但是,remove
命令似乎存在问题,我不知道如何修复它。
答案 0 :(得分:1)
您可能想要添加
plt.pause(0.1)
在remove
命令之后。这使得matplotlib实际绘制到这一点并等待0.1秒,以便在继续下一次迭代之前可以看到发生的事情。