@@ -13,7 +13,6 @@ class ParasiteAxesBase:
1313 def get_images_artists (self ):
1414 artists = {a for a in self .get_children () if a .get_visible ()}
1515 images = {a for a in self .images if a .get_visible ()}
16-
1716 return list (images ), list (artists - images )
1817
1918 def __init__ (self , parent_axes , ** kwargs ):
@@ -23,19 +22,9 @@ def __init__(self, parent_axes, **kwargs):
2322
2423 def cla (self ):
2524 super ().cla ()
26-
2725 martist .setp (self .get_children (), visible = False )
2826 self ._get_lines = self ._parent_axes ._get_lines
2927
30- # In mpl's Axes, zorders of x- and y-axis are originally set
31- # within Axes.draw().
32- if self ._axisbelow :
33- self .xaxis .set_zorder (0.5 )
34- self .yaxis .set_zorder (0.5 )
35- else :
36- self .xaxis .set_zorder (2.5 )
37- self .yaxis .set_zorder (2.5 )
38-
3928 def pick (self , mouseevent ):
4029 # This most likely goes to Artist.pick (depending on axes_class given
4130 # to the factory), which only handles pick events registered on the
@@ -74,17 +63,12 @@ def __init__(self, parent_axes, aux_transform, viewlim_mode=None,
7463 super ().__init__ (parent_axes , ** kwargs )
7564
7665 def _set_lim_and_transforms (self ):
77-
7866 self .transAxes = self ._parent_axes .transAxes
79-
80- self .transData = \
81- self .transAux + \
82- self ._parent_axes .transData
83-
67+ self .transData = self .transAux + self ._parent_axes .transData
8468 self ._xaxis_transform = mtransforms .blended_transform_factory (
85- self .transData , self .transAxes )
69+ self .transData , self .transAxes )
8670 self ._yaxis_transform = mtransforms .blended_transform_factory (
87- self .transAxes , self .transData )
71+ self .transAxes , self .transData )
8872
8973 def set_viewlim_mode (self , mode ):
9074 _api .check_in_list ([None , "equal" , "transform" ], mode = mode )
@@ -93,7 +77,11 @@ def set_viewlim_mode(self, mode):
9377 def get_viewlim_mode (self ):
9478 return self ._viewlim_mode
9579
80+ @cbook .deprecated ("3.4" , alternative = "apply_aspect" )
9681 def update_viewlim (self ):
82+ return self ._update_viewlim ()
83+
84+ def _update_viewlim (self ): # Inline after deprecation elapses.
9785 viewlim = self ._parent_axes .viewLim .frozen ()
9886 mode = self .get_viewlim_mode ()
9987 if mode is None :
@@ -107,7 +95,7 @@ def update_viewlim(self):
10795 _api .check_in_list ([None , "equal" , "transform" ], mode = mode )
10896
10997 def apply_aspect (self , position = None ):
110- self .update_viewlim ()
98+ self ._update_viewlim ()
11199 super ().apply_aspect ()
112100
113101
@@ -204,9 +192,9 @@ def twinx(self, axes_class=None):
204192
205193 parasite_axes_class = parasite_axes_class_factory (axes_class )
206194
207- ax2 = parasite_axes_class (self , sharex = self , frameon = False )
195+ ax2 = parasite_axes_class (self , sharex = self )
208196 self .parasites .append (ax2 )
209- ax2 ._remove_method = self ._remove_twinx
197+ ax2 ._remove_method = self ._remove_any_twin
210198
211199 self .axis ["right" ].set_visible (False )
212200
@@ -215,11 +203,6 @@ def twinx(self, axes_class=None):
215203
216204 return ax2
217205
218- def _remove_twinx (self , ax ):
219- self .parasites .remove (ax )
220- self .axis ["right" ].set_visible (True )
221- self .axis ["right" ].toggle (ticklabels = False , label = False )
222-
223206 def twiny (self , axes_class = None ):
224207 """
225208 Create a twin of Axes with a shared y-axis but independent x-axis.
@@ -232,9 +215,9 @@ def twiny(self, axes_class=None):
232215
233216 parasite_axes_class = parasite_axes_class_factory (axes_class )
234217
235- ax2 = parasite_axes_class (self , sharey = self , frameon = False )
218+ ax2 = parasite_axes_class (self , sharey = self )
236219 self .parasites .append (ax2 )
237- ax2 ._remove_method = self ._remove_twiny
220+ ax2 ._remove_method = self ._remove_any_twin
238221
239222 self .axis ["top" ].set_visible (False )
240223
@@ -243,11 +226,6 @@ def twiny(self, axes_class=None):
243226
244227 return ax2
245228
246- def _remove_twiny (self , ax ):
247- self .parasites .remove (ax )
248- self .axis ["top" ].set_visible (True )
249- self .axis ["top" ].toggle (ticklabels = False , label = False )
250-
251229 def twin (self , aux_trans = None , axes_class = None ):
252230 """
253231 Create a twin of Axes with no shared axis.
@@ -262,27 +240,29 @@ def twin(self, aux_trans=None, axes_class=None):
262240 parasite_axes_auxtrans_class_factory (axes_class )
263241
264242 if aux_trans is None :
265- ax2 = parasite_axes_auxtrans_class (
266- self , mtransforms .IdentityTransform (), viewlim_mode = "equal" )
267- else :
268- ax2 = parasite_axes_auxtrans_class (
269- self , aux_trans , viewlim_mode = "transform" )
243+ aux_trans = mtransforms .IdentityTransform ()
244+ ax2 = parasite_axes_auxtrans_class (
245+ self , aux_trans , viewlim_mode = "transform" )
270246 self .parasites .append (ax2 )
271- ax2 ._remove_method = self .parasites . remove
247+ ax2 ._remove_method = self ._remove_any_twin
272248
273249 self .axis ["top" , "right" ].set_visible (False )
274250
275251 ax2 .axis ["top" , "right" ].set_visible (True )
276252 ax2 .axis ["left" , "bottom" ].set_visible (False )
277253
278- def _remove_method (h ):
279- self .parasites .remove (h )
280- self .axis ["top" , "right" ].set_visible (True )
281- self .axis ["top" , "right" ].toggle (ticklabels = False , label = False )
282- ax2 ._remove_method = _remove_method
283-
284254 return ax2
285255
256+ def _remove_any_twin (self , ax ):
257+ self .parasites .remove (ax )
258+ restore = ["top" , "right" ]
259+ if ax ._sharex :
260+ restore .remove ("top" )
261+ if ax ._sharey :
262+ restore .remove ("right" )
263+ self .axis [tuple (restore )].set_visible (True )
264+ self .axis [tuple (restore )].toggle (ticklabels = False , label = False )
265+
286266 def get_tightbbox (self , renderer , call_axes_locator = True ,
287267 bbox_extra_artists = None ):
288268 bbs = [
0 commit comments