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