@@ -332,6 +332,7 @@ def get_gridlines(self, which, axis):
332332 """
333333 return []
334334
335+ @_api .deprecated ("3.6" )
335336 def new_gridlines (self , ax ):
336337 """
337338 Create and return a new GridlineCollection instance.
@@ -462,25 +463,11 @@ def toggle_axisline(self, b=None):
462463 self .xaxis .set_visible (True )
463464 self .yaxis .set_visible (True )
464465
465- def _init_axis_artists (self , axes = None ):
466- if axes is None :
467- axes = self
468-
469- self ._axislines = mpl_axes .Axes .AxisDict (self )
470- new_fixed_axis = self .get_grid_helper ().new_fixed_axis
471- for loc in ["bottom" , "top" , "left" , "right" ]:
472- self ._axislines [loc ] = new_fixed_axis (loc = loc , axes = axes ,
473- axis_direction = loc )
474-
475- for axisline in [self ._axislines ["top" ], self ._axislines ["right" ]]:
476- axisline .label .set_visible (False )
477- axisline .major_ticklabels .set_visible (False )
478- axisline .minor_ticklabels .set_visible (False )
479-
480466 @property
481467 def axis (self ):
482468 return self ._axislines
483469
470+ @_api .deprecated ("3.6" )
484471 def new_gridlines (self , grid_helper = None ):
485472 """
486473 Create and return a new GridlineCollection instance.
@@ -495,21 +482,33 @@ def new_gridlines(self, grid_helper=None):
495482 gridlines = grid_helper .new_gridlines (self )
496483 return gridlines
497484
498- def _init_gridlines (self , grid_helper = None ):
499- # It is done inside the cla.
500- self .gridlines = self .new_gridlines (grid_helper )
501-
502485 def clear (self ):
503486 # docstring inherited
504- # gridlines need to be created before clear() since clear calls grid()
505- self ._init_gridlines ()
487+
488+ # Init gridlines before clear() as clear() calls grid().
489+ self .gridlines = gridlines = GridlinesCollection (
490+ None , transform = self .transData ,
491+ colors = rcParams ['grid.color' ],
492+ linestyles = rcParams ['grid.linestyle' ],
493+ linewidths = rcParams ['grid.linewidth' ])
494+ self ._set_artist_props (gridlines )
495+ gridlines .set_grid_helper (self .get_grid_helper ())
496+
506497 super ().clear ()
507498
508- # the clip_path should be set after Axes.clear() since that's
509- # when a patch is created.
510- self .gridlines .set_clip_path (self .axes .patch )
499+ # clip_path is set after Axes.clear(): that's when a patch is created.
500+ gridlines .set_clip_path (self .axes .patch )
511501
512- self ._init_axis_artists ()
502+ # Init axis artists.
503+ self ._axislines = mpl_axes .Axes .AxisDict (self )
504+ new_fixed_axis = self .get_grid_helper ().new_fixed_axis
505+ self ._axislines .update ({
506+ loc : new_fixed_axis (loc = loc , axes = self , axis_direction = loc )
507+ for loc in ["bottom" , "top" , "left" , "right" ]})
508+ for axisline in [self ._axislines ["top" ], self ._axislines ["right" ]]:
509+ axisline .label .set_visible (False )
510+ axisline .major_ticklabels .set_visible (False )
511+ axisline .minor_ticklabels .set_visible (False )
513512
514513 def get_grid_helper (self ):
515514 return self ._grid_helper
@@ -564,27 +563,18 @@ def new_floating_axis(self, nth_coord, value, axis_direction="bottom"):
564563
565564class AxesZero (Axes ):
566565
567- def _init_axis_artists (self ):
568- super ()._init_axis_artists ()
569-
570- new_floating_axis = self ._grid_helper .new_floating_axis
571- xaxis_zero = new_floating_axis (nth_coord = 0 ,
572- value = 0. ,
573- axis_direction = "bottom" ,
574- axes = self )
575-
576- xaxis_zero .line .set_clip_path (self .patch )
577- xaxis_zero .set_visible (False )
578- self ._axislines ["xzero" ] = xaxis_zero
579-
580- yaxis_zero = new_floating_axis (nth_coord = 1 ,
581- value = 0. ,
582- axis_direction = "left" ,
583- axes = self )
584-
585- yaxis_zero .line .set_clip_path (self .patch )
586- yaxis_zero .set_visible (False )
587- self ._axislines ["yzero" ] = yaxis_zero
566+ def clear (self ):
567+ super ().clear ()
568+ new_floating_axis = self .get_grid_helper ().new_floating_axis
569+ self ._axislines .update (
570+ xzero = new_floating_axis (
571+ nth_coord = 0 , value = 0. , axis_direction = "bottom" , axes = self ),
572+ yzero = new_floating_axis (
573+ nth_coord = 1 , value = 0. , axis_direction = "left" , axes = self ),
574+ )
575+ for k in ["xzero" , "yzero" ]:
576+ self ._axislines [k ].line .set_clip_path (self .patch )
577+ self ._axislines [k ].set_visible (False )
588578
589579
590580SubplotZero = maxes .subplot_class_factory (AxesZero )
0 commit comments