Я хочу построить график прогнозируемой функции от исходной функции в matplotlib. Я использовал следующий код:
import matplotlib as plt
plt.ion()
for i in range(200):
#Some Operations
if i%5==0 :
print(str((i+1))+'th loss',loss.squeeze())
# plot and show learning process
plt.cla()
plt.scatter(x.data.numpy(), y.data.numpy())
plt.plot(x.data.numpy(), output.data.numpy(), 'r-', lw=5)
plt.text(0.5, 0, 'Loss=%.4f' % loss.data[0], fontdict = {'size': 20, 'color': 'red'})
plt.pause(0.1)
plt.ioff()
plt.show()
При выполнении этого кода результирующий график обновляется, но он накладывается на предыдущий график, хотя я использовал функцию cla() для очистки.
Весь исполняемый код можно найти здесь.
Можете ли вы предоставить минимальный воспроизводимый пример, чтобы мы могли это воспроизвести? Глядя на код, вы правы, он должен очистить оси.
@AntonvBR Я не могу использовать plt.close (), потому что количество итераций может превышать 1000.
@ImportanceOfBeingErnest Я добавил ссылку на исполняемый код






Есть множество вариантов, и я всегда их ищу в Google. Я часто использую
plt.close()/plt.clf(). Это соответствует вашим потребностям?