8000 Transform ParasiteAxesBase._update_viewlim into standard callback. · matplotlib/matplotlib@1f4c144 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1f4c144

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 1f4c144

File tree

2 files changed

+6
-10
lines changed

2 files changed

+6
-10
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 ch 8000 anged: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ def __init__(self, parent_axes, aux_transform=None,
1414
self.set_viewlim_mode(viewlim_mode)
1515
kwargs["frameon"] = False
1616
super().__init__(parent_axes.figure, parent_axes._position, **kwargs)
17+
parent_axes.callbacks.connect("xlim_changed", self._sync_lims)
1718

1819
def clear(self):
1920
super().clear()
@@ -52,23 +53,18 @@ def set_viewlim_mode(self, mode):
5253
def get_viewlim_mode(self):
5354
return self._viewlim_mode
5455

55-
def _update_viewlim(self): # Inline after deprecation elapses.
56-
viewlim = self._parent_axes.viewLim.frozen()
56+
def _sync_lims(self, parent):
57+
viewlim = parent.viewLim.frozen()
5758
mode = self.get_viewlim_mode()
5859
if mode is None:
5960
pass
6061
elif mode == "equal":
61-
self.axes.viewLim.set(viewlim)
62+
self.viewLim.set(viewlim)
6263
elif mode == "transform":
63-
self.axes.viewLim.set(
64-
viewlim.transformed(self.transAux.inverted()))
64+
self.viewLim.set(viewlim.transformed(self.transAux.inverted()))
6565
else:
6666
_api.check_in_list([None, "equal", "transform"], mode=mode)
6767

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

7470

0 commit comments

Comments
 (0)
0