@@ -1833,6 +1833,18 @@ def _release(self, event):
1833
1833
if not self .interactive :
1834
1834
self .to_draw .set_visible (False )
1835
1835
1836
+ # update the eventpress and eventrelease with the resulting extents
1837
+ x1 , x2 , y1 , y2 = self .extents
1838
+ self .eventpress .xdata = x1
1839
+ self .eventpress .ydata = y1
1840
+ xy1 = self .ax .transData .transform_point ([x1 , y1 ])
1841
+ self .eventpress .x , self .eventpress .y = xy1
1842
+
1843
+ self .eventrelease .xdata = x2
1844
+ self .eventrelease .ydata = y2
1845
+ xy2 = self .ax .transData .transform_point ([x2 , y2 ])
1846
+ self .eventrelease .x , self .eventrelease .y = xy2
1847
+
1836
1848
if self .spancoords == 'data' :
1837
1849
xmin , ymin = self .eventpress .xdata , self .eventpress .ydata
1838
1850
xmax , ymax = self .eventrelease .xdata , self .eventrelease .ydata
@@ -1854,27 +1866,16 @@ def _release(self, event):
1854
1866
xproblems = self .minspanx is not None and spanx < self .minspanx
1855
1867
yproblems = self .minspany is not None and spany < self .minspany
1856
1868
1857
- if (((self .drawtype == 'box' ) or (self .drawtype == 'line' )) and
1858
- (xproblems or yproblems )):
1859
- # check if drawn distance (if it exists) is not too small in
1860
- # neither x nor y-direction
1861
- self .extents = [0 , 0 , 0 , 0 ]
1869
+ # check if drawn distance (if it exists) is not too small in
1870
+ # either x or y-direction
1871
+ if self .drawtype != 'none' and (xproblems or yproblems ):
1872
+ for artist in self .artists :
1873
+ artist .set_visible (False )
1874
+ self .update ()
1862
1875
return
1863
1876
1864
- # update the eventpress and eventrelease with the resulting extents
1865
- x1 , x2 , y1 , y2 = self .extents
1866
- self .eventpress .xdata = x1
1867
- self .eventpress .ydata = y1
1868
- xy1 = self .ax .transData .transform_point ([x1 , y1 ])
1869
- self .eventpress .x , self .eventpress .y = xy1
1870
-
1871
- self .eventrelease .xdata = x2
1872
- self .eventrelease .ydata = y2
1873
- xy2 = self .ax .transData .transform_point ([x2 , y2 ])
1874
- self .eventrelease .x , self .eventrelease .y = xy2
1875
-
1877
+ # call desired function
1876
1878
self .onselect (self .eventpress , self .eventrelease )
1877
- # call desired function
1878
1879
self .update ()
1879
1880
1880
1881
return False
0 commit comments