интерактивная фигура matplotlib: показать, а затем закрыть изображение поверх графика - PullRequest
0 голосов
/ 07 мая 2020

Я создаю интерактивную фигуру matplotlib. Он интерактивен в том смысле, что когда я нажимаю на клавиатуре букву «i», изображение загружается в рисунок. На втором этапе я хотел бы снова удалить изображение, пока я все еще показываю сюжет. Очень не хочу перерисовывать сюжет, это отнимает слишком много времени.

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

1 Ответ

1 голос
/ 07 мая 2020

PLT сложно. В общем, plt.COMMANDS применяются к самому недавно созданному объекту и не обеспечивают особого контроля над фигурой, осью, графиками и т. Д. c. Если вы пометите свои глобальные переменные plt, это сделает их более понятными.

import matplotlib.pyplot as plt

X = [1,2,3,4]
Y = [1,1,3,3.5]

figure = plt.figure()              #Creates the window. 
axis   = figure.add_subplot(1,1,1) #Creates a graphic inside the window. 
axis.grid(True)                    #Change the axis. 
plots  = axis.plot(X,Y)            #Put a plot in the axis. 

figure.show()                      #Open the window. 

Обратите внимание, что графики представляют собой список, поскольку массивы X и Y могли генерировать много графиков. Теперь давайте удалим график, пока окно открыто, и посмотрим, как он исчезнет, ​​а затем вставим график обратно в ось.

plots[0].remove()

plots  = axis.plot(X,Y)

В вашем случае вы работаете с axis.imshow () вместо axis.plot ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...