Python 无法从绘图中删除axvspan

Python 无法从绘图中删除axvspan,python,matplotlib,pyqt,Python,Matplotlib,Pyqt,在第三次单击绘图后,我试图删除axvspan()函数 这是我目前的代码: def shaded_region(self, event): if event.button == 1 and ViewWidget.click == 0: ViewWidget.click +=1 ViewWidget.xx1 = event.xdata self.cid2 = self.figure_canvas.mpl_connect("motion

在第三次单击绘图后,我试图删除axvspan()函数

这是我目前的代码:

def shaded_region(self, event):     
    if event.button == 1 and ViewWidget.click == 0:
        ViewWidget.click +=1
        ViewWidget.xx1 = event.xdata
        self.cid2 = self.figure_canvas.mpl_connect("motion_notify_event", self.mouseCoordsInMotion)

def mouseCoordsInMotion(self, event):
    X1 = ViewWidget.xx1
    X2 = event.xdata

    self.aspan = self.axes.axvspan(X1,X2, alpha = 0.3, color = "cyan")
    self.figure_canvas.draw_idle()

    self.cid3 = self.figure_canvas.mpl_connect('button_press_event', self.selectedRegion)

def selectedRegion(self, event):

    ViewWidget.click += 1

    if event.button == 1 and ViewWidget.click == 2:
        print "Conectado a selectedRegion"
        self.figure_canvas.mpl_disconnect(self.cid1)
        self.figure_canvas.mpl_disconnect(self.cid2)

        ViewWidget.click = 3
        X1 = ViewWidget.xx1
        ViewWidget.xx2 = event.xdata
        X2 = ViewWidget.xx2

        self.aspan = self.axes.axvspan(X1,X2, alpha = 0.3, color = "cyan")
        return ViewWidget.xx1, ViewWidget.xx2, ViewWidget.click

    else:
        ViewWidget.click = 3
        self.figure_canvas.mpl_disconnect(self.cid3)

def erase_selection(self, event):

    if event.button == 1 and ViewWidget.click == 3:
        ViewWidget.click = 0
        self.aspan.remove()
        self.figure_canvas.draw_idle()
因此,使用
shaded_region
方法,当我单击一次时,我从鼠标的坐标开始绘制。然后,我第二次单击停止绘制,当我想擦除第三次单击所绘制的内容时,它不起作用

我怎样才能做到这一点?。希望你能帮助我