Animación simple de coordenadas 2D usando matplotlib y pyplot

Soy nuevo en matplotlib. Tengo una lista de coordenadas xy que actualizo en python y quiero animar usando el pyplot de matplotlib. Quiero especificar el rango xy el rango y por adelantado. A continuación se muestra mi código actual:

import matplotlib.pyplot as plt x=[1,2,3,4] y=[5,6,7,8] for t in range(100): #lists x and y get updated here #... plt.plot(x, y, marker='o', linestyle='None') plt.show() 

Como puede ver, uso plt.plot() y plt.show() al final de mi ciclo de iteración para trazar solo las coordenadas finales. Pero quiero poner este paso dentro del bucle y trazar en cada iteración con un tiempo de pausa específico para que tenga una animación mientras se ejecuta el bucle.

El simple hecho de mover esa statement dentro del bucle o los ajustes sobre el mismo no están funcionando. Sin embargo, quiero que sea muy simple y no quiero usar matplotlib.animation . ¿Hay algún método simple sin usar muchos más módulos y bibliotecas (solo cosas como plt.pause() y quizás solo un poco más) que me permitan hacer lo que quiero?

Miré en muchos lugares en línea, y el problema al que me enfrento con la mayoría de los métodos es que estoy usando python (x, y) (esa es la versión 2.7 de python) en Windows para esto, y las animaciones que usan módulos y bibliotecas demasiado complicadas están fallando aquí.

Sin embargo, puedo ejecutar cosas simples como este ejemplo en el sitio matplotlib, que está cerca de lo que quiero, pero no del todo. Entonces, tal vez lo mejor sea una modificación de este ejemplo que funcione para mi caso de datos 2D (ese ejemplo es para una fila 1D). Pero cualquier otra sugerencia es bienvenida.

Esto es una adaptación de la demostración de animación :

 import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() x = [1, 2, 3, 4] y = [5, 6, 7, 8] for t in range(10): if t == 0: points, = ax.plot(x, y, marker='o', linestyle='None') ax.set_xlim(0, 10) ax.set_ylim(0, 10) else: new_x = np.random.randint(10, size=5) new_y = np.random.randint(10, size=5) points.set_data(new_x, new_y) plt.pause(0.5) 

Si bien esto es simple, la cadena de documentación dice que es lento.