Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4c8782a

Browse files
committed
Transform ParasiteAxesBase._update_viewlim into standard callback.
update_viewlim as an independent method was deprecated in da2f77a and has since then been removed. We could just inline _update_viewlim into apply_aspect, but transforming it into a callback on xlim_changed/ylim_changed helps moving towards the removal of ParasiteAxes as a separate class and its replacement by standard (child) axes with some extra attributes/callbacks set.
1 parent c5ed8eb commit 4c8782a

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

doc/api/prev_api_changes/api_changes_3.6.0/removals.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ The following class methods have been removed:
152152
``RendererAgg.tostring_rgba_minimized()``
153153
- ``NavigationToolbar2Wx.get_canvas()``
154154

155-
- ``ParasiteAxesBase.update_viewlim()``; use `.ParasiteAxesBase.apply_aspect`
155+
- ``ParasiteAxesBase.update_viewlim()``; use ``ParasiteAxesBase.apply_aspect``
156156
instead.
157157
- ``Subplot.get_geometry()``; use ``SubplotBase.get_subplotspec`` instead.
158158
- ``Subplot.change_geometry()``; use ``SubplotBase.set_subplotspec`` instead.

lib/mpl_toolkits/axes_grid1/parasite_axes.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ def clear(self):
1919
super().clear()
2020
martist.setp(self.get_children(), visible=False)
2121
self._get_lines = self._parent_axes._get_lines
22+
self._parent_axes.callbacks._connect_picklable(
23+
"xlim_changed", self._sync_lims)
24+
self._parent_axes.callbacks._connect_picklable(
25+
"ylim_changed", self._sync_lims)
2226

2327
def pick(self, mouseevent):
2428
# This most likely goes to Artist.pick (depending on axes_class given
@@ -52,23 +56,18 @@ def set_viewlim_mode(self, mode):
5256
def get_viewlim_mode(self):
5357
return self._viewlim_mode
5458

55-
def _update_viewlim(self): # Inline after deprecation elapses.
56-
viewlim = self._parent_axes.viewLim.frozen()
59+
def _sync_lims(self, parent):
60+
viewlim = parent.viewLim.frozen()
5761
mode = self.get_viewlim_mode()
5862
if mode is None:
5963
pass
6064
elif mode == "equal":
61-
self.axes.viewLim.set(viewlim)
65+
self.viewLim.set(viewlim)
6266
elif mode == "transform":
63-
self.axes.viewLim.set(
64-
viewlim.transformed(self.transAux.inverted()))
67+
self.viewLim.set(viewlim.transformed(self.transAux.inverted()))
6568
else:
6669
_api.check_in_list([None, "equal", "transform"], mode=mode)
6770

68-
def apply_aspect(self, position=None):
69-
self._update_viewlim()
70-
super().apply_aspect()
71-
7271
# end of aux_transform support
7372

7473

@@ -140,9 +139,9 @@ def draw(self, renderer):
140139
self._children = self._children[:orig_children_len]
141140

142141
def clear(self):
142+
super().clear()
143143
for ax in self.parasites:
144144
ax.clear()
145-
super().clear()
146145

147146
def pick(self, mouseevent):
148147
super().pick(mouseevent)

0 commit comments

Comments
 (0)