2014-08-27 2 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

ответ

1

Вы можете добавить

plt.pause(0.1) 

после команды remove. Это делает matplotlib фактически нарисовать график до этой точки и ждать 0,1 секунды, чтобы вы могли видеть что-то происходящее, прежде чем оно продолжится со следующей итерацией.

Смежные вопросы