@@ -2253,7 +2253,6 @@ def axes(self):
2253
2253
2254
2254
def draw (self , renderer ):
2255
2255
# docstring inherited
2256
- self ._cachedRenderer = renderer
2257
2256
2258
2257
# draw the figure bounding box, perhaps none for white figure
2259
2258
if not self .get_visible ():
@@ -2493,7 +2492,6 @@ def __init__(self,
2493
2492
2494
2493
self ._axstack = _AxesStack () # track all figure axes and current axes
2495
2494
self .clear ()
2496
- self ._cachedRenderer = None
2497
2495
2498
2496
# list of child gridspecs for this figure
2499
2497
self ._gridspecs = []
@@ -2655,9 +2653,7 @@ def axes(self):
2655
2653
get_axes = axes .fget
2656
2654
2657
2655
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' ):
2661
2657
return self .canvas .get_renderer ()
2662
2658
else :
2663
2659
return _get_renderer (self )
@@ -3051,7 +3047,6 @@ def clear(self, keep_observers=False):
3051
3047
@allow_rasterization
3052
3048
def draw (self , renderer ):
3053
3049
# docstring inherited
3054
- self ._cachedRenderer = renderer
3055
3050
3056
3051
# draw the figure bounding box, perhaps none for white figure
3057
3052
if not self .get_visible ():
@@ -3092,14 +3087,8 @@ def draw_without_rendering(self):
3092
3087
def draw_artist (self , a ):
3093
3088
"""
3094
3089
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.
3098
3090
"""
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 ())
3103
3092
3104
3093
def __getstate__ (self ):
3105
3094
state = super ().__getstate__ ()
@@ -3109,9 +3098,6 @@ def __getstate__(self):
3109
3098
# re-attached to another.
3110
3099
state .pop ("canvas" )
3111
3100
3112
- # Set cached renderer to None -- it can't be pickled.
3113
- state ["_cachedRenderer" ] = None
3114
-
3115
3101
# discard any changes to the dpi due to pixel ratio changes
3116
3102
state ["_dpi" ] = state .get ('_original_dpi' , state ['_dpi' ])
3117
3103
0 commit comments