@@ -13,7 +13,6 @@ class ParasiteAxesBase:
13
13
def get_images_artists (self ):
14
14
artists = {a for a in self .get_children () if a .get_visible ()}
15
15
images = {a for a in self .images if a .get_visible ()}
16
-
17
16
return list (images ), list (artists - images )
18
17
19
18
def __init__ (self , parent_axes , ** kwargs ):
@@ -23,19 +22,9 @@ def __init__(self, parent_axes, **kwargs):
23
22
24
23
def cla (self ):
25
24
super ().cla ()
26
-
27
25
martist .setp (self .get_children (), visible = False )
28
26
self ._get_lines = self ._parent_axes ._get_lines
29
27
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
-
39
28
def pick (self , mouseevent ):
40
29
# This most likely goes to Artist.pick (depending on axes_class given
41
30
# 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,
74
63
super ().__init__ (parent_axes , ** kwargs )
75
64
76
65
def _set_lim_and_transforms (self ):
77
-
78
66
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
84
68
self ._xaxis_transform = mtransforms .blended_transform_factory (
85
- self .transData , self .transAxes )
69
+ self .transData , self .transAxes )
86
70
self ._yaxis_transform = mtransforms .blended_transform_factory (
87
- self .transAxes , self .transData )
71
+ self .transAxes , self .transData )
88
72
89
73
def set_viewlim_mode (self , mode ):
90
74
_api .check_in_list ([None , "equal" , "transform" ], mode = mode )
@@ -93,7 +77,11 @@ def set_viewlim_mode(self, mode):
93
77
def get_viewlim_mode (self ):
94
78
return self ._viewlim_mode
95
79
80
+ @cbook .deprecated ("3.4" , alternative = "apply_aspect" )
96
81
def update_viewlim (self ):
82
+ return self ._update_viewlim ()
83
+
84
+ def _update_viewlim (self ): # Inline after deprecation elapses.
97
85
viewlim = self ._parent_axes .viewLim .frozen ()
98
86
mode = self .get_viewlim_mode ()
99
87
if mode is None :
@@ -107,7 +95,7 @@ def update_viewlim(self):
107
95
_api .check_in_list ([None , "equal" , "transform" ], mode = mode )
108
96
109
97
def apply_aspect (self , position = None ):
110
- self .update_viewlim ()
98
+ self ._update_viewlim ()
111
99
super ().apply_aspect ()
112
100
113
101
@@ -204,9 +192,9 @@ def twinx(self, axes_class=None):
204
192
205
193
parasite_axes_class = parasite_axes_class_factory (axes_class )
206
194
207
- ax2 = parasite_axes_class (self , sharex = self , frameon = False )
195
+ ax2 = parasite_axes_class (self , sharex = self )
208
196
self .parasites .append (ax2 )
209
- ax2 ._remove_method = self ._remove_twinx
197
+ ax2 ._remove_method = self ._remove_any_twin
210
198
211
199
self .axis ["right" ].set_visible (False )
212
200
@@ -215,11 +203,6 @@ def twinx(self, axes_class=None):
215
203
216
204
return ax2
217
205
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
-
223
206
def twiny (self , axes_class = None ):
224
207
"""
225
208
Create a twin of Axes with a shared y-axis but independent x-axis.
@@ -232,9 +215,9 @@ def twiny(self, axes_class=None):
232
215
233
216
parasite_axes_class = parasite_axes_class_factory (axes_class )
234
217
235
- ax2 = parasite_axes_class (self , sharey = self , frameon = False )
218
+ ax2 = parasite_axes_class (self , sharey = self )
236
219
self .parasites .append (ax2 )
237
- ax2 ._remove_method = self ._remove_twiny
220
+ ax2 ._remove_method = self ._remove_any_twin
238
221
239
222
self .axis ["top" ].set_visible (False )
240
223
@@ -243,11 +226,6 @@ def twiny(self, axes_class=None):
243
226
244
227
return ax2
245
228
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
-
251
229
def twin (self , aux_trans = None , axes_class = None ):
252
230
"""
253
231
Create a twin of Axes with no shared axis.
@@ -262,27 +240,29 @@ def twin(self, aux_trans=None, axes_class=None):
262
240
parasite_axes_auxtrans_class_factory (axes_class )
263
241
264
242
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" )
270
246
self .parasites .append (ax2 )
271
- ax2 ._remove_method = self .parasites . remove
247
+ ax2 ._remove_method = self ._remove_any_twin
272
248
273
249
self .axis ["top" , "right" ].set_visible (False )
274
250
275
251
ax2 .axis ["top" , "right" ].set_visible (True )
276
252
ax2 .axis ["left" , "bottom" ].set_visible (False )
277
253
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
-
284
254
return ax2
285
255
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
+
286
266
def get_tightbbox (self , renderer , call_axes_locator = True ,
287
267
bbox_extra_artists = None ):
288
268
bbs = [
0 commit comments