2014-08-27 237 views
1

我正在嘗試使等高線圖動畫。下面的例子是足夠接近我想(從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

問題是什麼?你能指望什麼?會發生什麼呢? – Falko 2014-08-27 20:54:38

回答

1

您可能希望在remove命令後添加

plt.pause(0.1) 

。這使得matplotlib實際上將繪圖繪製到這一點,並等待0.1秒,以便在繼續進行下一次迭代之前,您可以看到發生的事情。