@@ -2996,7 +2996,6 @@ def _zoom_pan_handler(self, event):
29962996 self .release_zoom (event )
29972997
29982998 def _start_event_axes_interaction (self , event , method = "zoom" ):
2999- # call "ax.start_pan(..)" on all relevant axes of an event
30002999
30013000 def _ax_filter (ax ):
30023001 return (ax .in_axes (event ) and
@@ -3024,13 +3023,13 @@ def _capture_events(ax):
30243023 for ax in reversed (axes ):
30253024 grps .setdefault (ax .get_zorder (), []).append (ax )
30263025
3027- pan_axes = []
3026+ axes_to_trigger = []
30283027 # go through zorders in reverse until we hit a capturing axes
30293028 for zorder in sorted (grps , reverse = True ):
30303029 for ax in grps [zorder ]:
3031- pan_axes .append (ax )
3030+ axes_to_trigger .append (ax )
30323031 # NOTE: shared axes are automatically triggered, but twin-axes not!
3033- pan_axes .extend (ax ._twinned_axes .get_siblings (ax ))
3032+ axes_to_trigger .extend (ax ._twinned_axes .get_siblings (ax ))
30343033
30353034 if _capture_events (ax ):
30363035 break # break if we hit a capturing axes
@@ -3045,12 +3044,9 @@ def _capture_events(ax):
30453044 break
30463045
30473046 # avoid duplicated triggers (but keep order of list)
3048- pan_axes = list (dict .fromkeys (pan_axes ))
3049-
3050- for ax in pan_axes :
3051- ax .start_pan (event .x , event .y , event .button )
3047+ axes_to_trigger = list (dict .fromkeys (axes_to_trigger ))
30523048
3053- return pan_axes
3049+ return axes_to_trigger
30543050
30553051 def pan (self , * args ):
30563052 """
@@ -3082,6 +3078,10 @@ def press_pan(self, event):
30823078 if not axes :
30833079 return
30843080
3081+ # call "ax.start_pan(..)" on all relevant axes of an event
3082+ for ax in axes :
3083+ ax .start_pan (event .x , event .y , event .button )
3084+
30853085 self .canvas .mpl_disconnect (self ._id_drag )
30863086 id_drag = self .canvas .mpl_connect ("motion_notify_event" , self .drag_pan )
30873087
0 commit comments