Come indicato in this question, sto tentando di aggiornare un grafico dinamicamente in un blocco appunti iPython (in una cella). La differenza è che non voglio tracciare nuove righe, ma che i miei x_data e y_data crescono ad ogni iterazione di un ciclo.Aggiornare dinamicamente il grafico nel notebook iPython
Quello che mi piacerebbe fare è:
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)
ma voglio la trama di avere una leggenda, e se lo faccio
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()
io alla fine con una leggenda che contiene 10 elementi. Se inserisco lo plt.legend()
all'interno del ciclo, la legenda aumenta ad ogni iterazione ... Qualsiasi soluzione?
Meglio, ma se lo faccio, la legenda non è visibile fino al termine del ciclo –
? per me va bene. Dove hai messo la leggenda? Deve essere prima delle due righe 'display' – tom
Ho inserito la legenda() all'interno del ciclo, ma nell'ultima riga del ciclo. Ora l'ho messo dopo la trama() e funziona bene –