@@ -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 ]),
0 commit comments