File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2777,6 +2777,10 @@ class _Mode(str, Enum):
27772777 def __str__ (self ):
27782778 return self .value
27792779
2780+ @property
2781+ def _navigate_mode (self ):
2782+ return self .name if self is not _Mode .NONE else None
2783+
27802784
27812785class NavigationToolbar2 :
27822786 """
@@ -3035,7 +3039,7 @@ def pan(self, *args):
30353039 self .mode = _Mode .PAN
30363040 self .canvas .widgetlock (self )
30373041 for a in self .canvas .figure .get_axes ():
3038- a .set_navigate_mode (self .mode )
3042+ a .set_navigate_mode (self .mode . _navigate_mode )
30393043 self .set_message (self .mode )
30403044
30413045 def press_pan (self , event ):
@@ -3105,7 +3109,7 @@ def zoom(self, *args):
31053109 self .mode = _Mode .ZOOM
31063110 self .canvas .widgetlock (self )
31073111 for a in self .canvas .figure .get_axes ():
3108- a .set_navigate_mode (self .mode )
3112+ a .set_navigate_mode (self .mode . _navigate_mode )
31093113 self .set_message (self .mode )
31103114
31113115 def press_zoom (self , event ):
Original file line number Diff line number Diff line change @@ -107,9 +107,11 @@ def test_location_event_position(x, y):
107107def test_interactive_zoom ():
108108 fig , ax = plt .subplots ()
109109 ax .set (xscale = "logit" )
110+ assert ax .get_navigate_mode () is None
110111
111112 tb = NavigationToolbar2 (fig .canvas )
112113 tb .zoom ()
114+ assert ax .get_navigate_mode () == 'ZOOM'
113115
114116 xlim0 = ax .get_xlim ()
115117 ylim0 = ax .get_ylim ()
@@ -143,3 +145,6 @@ def test_interactive_zoom():
143145 # Absolute tolerance much less than original xmin (1e-7).
144146 assert ax .get_xlim () == pytest .approx (xlim0 , rel = 0 , abs = 1e-10 )
145147 assert ax .get_ylim () == pytest .approx (ylim0 , rel = 0 , abs = 1e-10 )
148+
149+ tb .zoom ()
150+ assert ax .get_navigate_mode () is None
You can’t perform that action at this time.
0 commit comments