Замените существующий график в matplotlib вместо создания новой фигуры внутри al oop для imshow () - PullRequest
0 голосов
/ 10 июля 2020

Я хочу сохранить отображаемые изображения в соответствии с введенными пользователем данными, но проблема в том, что в отличие от plt.other_plots (), plt.imshow () не перезаписывает существующий рисунок , а создает новый фигура с под существующим. Как я могу заменить существующий?

Я пробовал много методов, но, похоже, ни один из них не работает, например %matplotlib inline или %matplotlib notebook с

plt.ion()
plt.show()
for i in range(5): 
    ax.imshow(np.random.rand(50,50))  # plot the figure
    plt.gcf().canvas.draw()
    x = input()
    #my_fun(x) # that has it's independent working so 

или

fig = plt.figure()
for i in range(5):
  plt.imshow(np.random.rand(50,50))
  plt.show()
  x = input()
  # my_fun(x)

Я также использовал plt.subplots(1,1) / plt.figure() внутри и снаружи петель, Ipython.display() и Ipython.display.Image.

Кажется, ничего не работает. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 10 июля 2020

Вы всегда можете сохранить свои рисунки в формате .png:

for i in range(5):
    plt.imshow(np.random.rand(50,50))
    plt.savefig('file_name_{}.png'.format(i))
...