@@ -255,6 +255,7 @@ def get_aux_axes(self, tr, viewlim_mode="equal", axes_class=None):
255
255
# note that ax2.transData == tr + ax1.transData
256
256
# Anthing you draw in ax2 will match the ticks and grids of ax1.
257
257
self .parasites .append (ax2 )
258
+ ax2 ._remove_method = lambda h : self .parasites .remove (h )
258
259
return ax2
259
260
260
261
@@ -326,17 +327,16 @@ def twinx(self, axes_class=None):
326
327
ax2 = parasite_axes_class (self , sharex = self , frameon = False )
327
328
self .parasites .append (ax2 )
328
329
329
- # for normal axes
330
-
331
- self .axis ["right" ].toggle (all = False )
332
- self .axis ["right" ].line .set_visible (True )
330
+ self .axis ["right" ].set_visible (False )
333
331
334
332
ax2 .axis ["right" ].set_visible (True )
335
- ax2 .axis ["left" ,"top" , "bottom" ].toggle (all = False )
336
- ax2 .axis ["left" ,"top" , "bottom" ].line .set_visible (False )
333
+ ax2 .axis ["left" , "top" , "bottom" ].set_visible (False )
337
334
338
- ax2 .axis ["right" ].toggle (all = True )
339
- ax2 .axis ["right" ].line .set_visible (False )
335
+ def _remove_method (h ):
336
+ self .parasites .remove (h )
337
+ self .axis ["right" ].set_visible (True )
338
+ self .axis ["right" ].toggle (ticklabels = False , label = False )
339
+ ax2 ._remove_method = _remove_method
340
340
341
341
return ax2
342
342
@@ -360,15 +360,16 @@ def twiny(self, axes_class=None):
360
360
ax2 = parasite_axes_class (self , sharey = self , frameon = False )
361
361
self .parasites .append (ax2 )
362
362
363
- self .axis ["top" ].toggle (all = False )
364
- self .axis ["top" ].line .set_visible (True )
363
+ self .axis ["top" ].set_visible (False )
365
364
366
365
ax2 .axis ["top" ].set_visible (True )
367
- ax2 .axis ["left" ,"right" , "bottom" ].toggle (all = False )
368
- ax2 .axis ["left" ,"right" , "bottom" ].line .set_visible (False )
366
+ ax2 .axis ["left" , "right" , "bottom" ].set_visible (False )
369
367
370
- ax2 .axis ["top" ].toggle (all = True )
371
- ax2 .axis ["top" ].line .set_visible (False )
368
+ def _remove_method (h ):
369
+ self .parasites .remove (h )
370
+ self .axis ["top" ].set_visible (True )
371
+ self .axis ["top" ].toggle (ticklabels = False , label = False )
372
+ ax2 ._remove_method = _remove_method
372
373
373
374
return ax2
374
375
@@ -399,43 +400,18 @@ def twin(self, aux_trans=None, axes_class=None):
399
400
viewlim_mode = "transform" ,
400
401
)
401
402
self .parasites .append (ax2 )
403
+ ax2 ._remove_method = lambda h : self .parasites .remove (h )
402
404
405
+ self .axis ["top" , "right" ].set_visible (False )
403
406
404
- # for normal axes
405
- #self.yaxis.tick_left()
406
- #self.xaxis.tick_bottom()
407
- #ax2.yaxis.tick_right()
408
- #ax2.xaxis.set_visible(True)
409
- #ax2.yaxis.set_visible(True)
410
-
411
- #ax2.yaxis.set_label_position('right')
412
- ##ax2.xaxis.tick_top()
413
- #ax2.xaxis.set_label_position('top')
414
-
415
-
416
- self .axis ["top" ,"right" ].toggle (all = False )
417
- self .axis ["top" ,"right" ].line .set_visible (False )
418
- #self.axis["left","bottom"].toggle(label=True)
419
-
420
- ax2 .axis ["top" ,"right" ].set_visible (True )
421
-
422
- ax2 .axis ["bottom" ,"left" ].toggle (all = False )
423
- ax2 .axis ["bottom" ,"left" ].line .set_visible (False )
424
-
425
- ax2 .axis ["top" ,"right" ].toggle (all = True )
426
- ax2 .axis ["top" ,"right" ].line .set_visible (True )
427
-
428
-
429
- # # for axisline axes
430
- # self._axislines["right"].set_visible(False)
431
- # self._axislines["top"].set_visible(False)
432
- # ax2._axislines["left"].set_visible(False)
433
- # ax2._axislines["bottom"].set_visible(False)
407
+ ax2 .axis ["top" , "right" ].set_visible (True )
408
+ ax2 .axis ["left" , "bottom" ].set_visible (False )
434
409
435
- # ax2._axislines["right"].set_visible(True)
436
- # ax2._axislines["top"].set_visible(True)
437
- # ax2._axislines["right"].major_ticklabels.set_visible(True)
438
- # ax2._axislines["top"].major_ticklabels.set_visible(True)
410
+ def _remove_method (h ):
411
+ self .parasites .remove (h )
412
+ self .axis ["top" , "right" ].set_visible (True )
413
+ self .axis ["top" , "right" ].toggle (ticklabels = False , label = False )
414
+ ax2 ._remove_method = _remove_method
439
415
440
416
return ax2
441
417
0 commit comments