Actualizar dinámicamente la trama en el cuaderno iPython

Como se menciona enesta pregunta, Estoy tratando de actualizar un diagrama dinámicamente en un cuaderno de iPython (en una celda). La diferencia es que no quiero trazar nuevas líneas, sino que mis x_data e y_data están creciendo en cada iteración de algún bucle.

Lo que me gustaría hacer es:

import numpy as np
import time
plt.axis([0, 10, 0, 100]) # supoose I know what the limits are going to be
plt.ion()
plt.show()
x = []
y = []
for i in range(10):
     x = np.append(x, i)
     y = np.append(y, i**2)
     # update the plot so that it shows y as a function of x
     time.sleep(0.5) 

pero quiero que la trama tenga una leyenda, y si lo hago

from IPython import display
import time
import numpy as np
plt.axis([0, 10, 0, 100]) # supoose I know what the limits are going to be
plt.ion()
plt.show()
x = []
y = []
for i in range(10):
    x = np.append(x, i)
    y = np.append(y, i**2)
    plt.plot(x, y, label="test")
    display.clear_output(wait=True)
    display.display(plt.gcf())
    time.sleep(0.3)
plt.legend()

Termino con una leyenda que contiene 10 elementos. Si pongo elplt.legend() dentro del ciclo, la leyenda crece en cada iteración ... ¿Alguna solución?

Respuestas a la pregunta(1)

Su respuesta a la pregunta