@@ -2191,7 +2191,6 @@ def axes(self):
2191
2191
2192
2192
def draw (self , renderer ):
2193
2193
# docstring inherited
2194
- self ._cachedRenderer = renderer
2195
2194
2196
2195
# draw the figure bounding box, perhaps none for white figure
2197
2196
if not self .get_visible ():
@@ -2431,7 +2430,6 @@ def __init__(self,
2431
2430
2432
2431
self ._axstack = _AxesStack () # track all figure axes and current axes
2433
2432
self .clear ()
2434
- self ._cachedRenderer = None
2435
2433
2436
2434
# list of child gridspecs for this figure
2437
2435
self ._gridspecs = []
@@ -2569,9 +2567,7 @@ def axes(self):
2569
2567
get_axes = axes .fget
2570
2568
2571
2569
def _get_renderer (self ):
2572
- if self ._cachedRenderer is not None :
2573
- return self ._cachedRenderer
2574
- elif hasattr (self .canvas , 'get_renderer' ):
2570
+ if hasattr (self .canvas , 'get_renderer' ):
2575
2571
return self .canvas .get_renderer ()
2576
2572
else :
2577
2573
return _get_renderer (self )
@@ -2965,7 +2961,6 @@ def clear(self, keep_observers=False):
2965
2961
@allow_rasterization
2966
2962
def draw (self , renderer ):
2967
2963
# docstring inherited
2968
- self ._cachedRenderer = renderer
2969
2964
2970
2965
# draw the figure bounding box, perhaps none for white figure
2971
2966
if not self .get_visible ():
@@ -3006,14 +3001,8 @@ def draw_without_rendering(self):
3006
3001
def draw_artist (self , a ):
3007
3002
"""
3008
3003
Draw `.Artist` *a* only.
3009
-
3010
- This method can only be used after an initial draw of the figure,
3011
- because that creates and caches the renderer needed here.
3012
3004
"""
3013
- if self ._cachedRenderer is None :
3014
- raise AttributeError ("draw_artist can only be used after an "
3015
- "initial draw which caches the renderer" )
3016
- a .draw (self ._cachedRenderer )
3005
+ a .draw (self .canvas .get_renderer ())
3017
3006
3018
3007
def __getstate__ (self ):
3019
3008
state = super ().__getstate__ ()
@@ -3023,9 +3012,6 @@ def __getstate__(self):
3023
3012
# re-attached to another.
3024
3013
state .pop ("canvas" )
3025
3014
3026
- # Set cached renderer to None -- it can't be pickled.
3027
- state ["_cachedRenderer" ] = None
3028
-
3029
3015
# discard any changes to the dpi due to pixel ratio changes
3030
3016
state ["_dpi" ] = state .get ('_original_dpi' , state ['_dpi' ])
3031
3017
0 commit comments