@@ -643,6 +643,13 @@ def test_span_selector(ax, orientation, onmove_callback, kwargs):
643
643
if onmove_callback :
644
644
kwargs ['onmove_callback' ]= onmove
645
645
646
+ # While at it, also test that span selectors work in the presence of twin axes on
647
+ # top of the axes that contain the selector. Note that we need to unforce the axes
648
+ # aspect here, otherwise the twin axes forces the original axes' limits (to respect
649
+ # aspect=1) which makes some of the values below go out of bounds.
650
+ ax .set_aspect ("auto" )
651
+ tax = ax .twinx ()
652
+
646
653
tool = widgets .SpanSelector (ax ,onselect ,orientation ,** kwargs )
647
654
do_event (tool ,'press' ,xdata = 100 ,ydata = 100 ,button = 1 )
648
655
# move outside of axis
@@ -925,7 +932,7 @@ def mean(vmin, vmax):
925
932
926
933
# Change span selector and check that the line is drawn/updated after its
927
934
# value was updated by the callback
928
- press_data = [4 ,2 ]
935
+ press_data = [4 ,0 ]
929
936
move_data = [5 ,2 ]
930
937
release_data = [5 ,2 ]
931
938
do_event (span ,'press' ,xdata = press_data [0 ],ydata = press_data [1 ],button = 1 )
@@ -1033,7 +1040,7 @@ def test_TextBox(ax, toolbar):
1033
1040
1034
1041
assert submit_event .call_count == 2
1035
1042
1036
- do_event (tool ,'_click' )
1043
+ do_event (tool ,'_click' , xdata = .5 , ydata = .5 ) # Ensure the click is in the axes.
1037
1044
do_event (tool ,'_keypress' ,key = '+' )
1038
1045
do_event (tool ,'_keypress' ,key = '5' )
1039
1046
@@ -1632,7 +1639,8 @@ def test_polygon_selector_verts_setter(fig_test, fig_ref, draw_bounding_box):
1632
1639
1633
1640
1634
1641
def test_polygon_selector_box (ax ):
1635
- # Create a diamond shape
1642
+ # Create a diamond (adjusting axes lims s.t. the diamond lies within axes limits).
1643
+ ax .set (xlim = (- 10 ,50 ),ylim = (- 10 ,50 ))
1636
1644
verts = [(20 ,0 ), (0 ,20 ), (20 ,40 ), (40 ,20 )]
1637
1645
event_sequence = [
1638
1646
* polygon_place_vertex (* verts [0 ]),