@@ -2253,7 +2253,6 @@ def axes(self):
22532253
22542254 def draw (self , renderer ):
22552255 # docstring inherited
2256- self ._cachedRenderer = renderer
22572256
22582257 # draw the figure bounding box, perhaps none for white figure
22592258 if not self .get_visible ():
@@ -2493,7 +2492,6 @@ def __init__(self,
24932492
24942493 self ._axstack = _AxesStack () # track all figure axes and current axes
24952494 self .clear ()
2496- self ._cachedRenderer = None
24972495
24982496 # list of child gridspecs for this figure
24992497 self ._gridspecs = []
@@ -2655,9 +2653,7 @@ def axes(self):
26552653 get_axes = axes .fget
26562654
26572655 def _get_renderer (self ):
2658- if self ._cachedRenderer is not None :
2659- return self ._cachedRenderer
2660- elif hasattr (self .canvas , 'get_renderer' ):
2656+ if hasattr (self .canvas , 'get_renderer' ):
26612657 return self .canvas .get_renderer ()
26622658 else :
26632659 return _get_renderer (self )
@@ -3051,7 +3047,6 @@ def clear(self, keep_observers=False):
30513047 @allow_rasterization
30523048 def draw (self , renderer ):
30533049 # docstring inherited
3054- self ._cachedRenderer = renderer
30553050
30563051 # draw the figure bounding box, perhaps none for white figure
30573052 if not self .get_visible ():
@@ -3092,14 +3087,8 @@ def draw_without_rendering(self):
30923087 def draw_artist (self , a ):
30933088 """
30943089 Draw `.Artist` *a* only.
3095-
3096- This method can only be used after an initial draw of the figure,
3097- because that creates and caches the renderer needed here.
30983090 """
3099- if self ._cachedRenderer is None :
3100- raise AttributeError ("draw_artist can only be used after an "
3101- "initial draw which caches the renderer" )
3102- a .draw (self ._cachedRenderer )
3091+ a .draw (self .canvas .get_renderer ())
31033092
31043093 def __getstate__ (self ):
31053094 state = super ().__getstate__ ()
@@ -3109,9 +3098,6 @@ def __getstate__(self):
31093098 # re-attached to another.
31103099 state .pop ("canvas" )
31113100
3112- # Set cached renderer to None -- it can't be pickled.
3113- state ["_cachedRenderer" ] = None
3114-
31153101 # discard any changes to the dpi due to pixel ratio changes
31163102 state ["_dpi" ] = state .get ('_original_dpi' , state ['_dpi' ])
31173103
0 commit comments