8000 MNT: replace by fallback call · matplotlib/matplotlib@9d87614 · GitHub
[go: up one dir, main page]

Skip to content

Commit 9d87614

Browse files
committed
MNT: replace by fallback call
1 parent e877342 commit 9d87614

File tree

12 files changed

+41
-42
lines changed

12 files changed

+41
-42
lines changed

lib/matplotlib/_tight_layout.py

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -199,16 +199,7 @@ def auto_adjust_subplotpars(
199199

200200

201201
def get_renderer(fig):
202-
if fig._cachedRenderer:
203-
return fig._cachedRenderer
204-
else:
205-
canvas = fig.canvas
206-
if canvas and hasattr(canvas, "get_renderer"):
207-
return canvas.get_renderer()
208-
else:
209-
from . import backend_bases
210-
return backend_bases._get_renderer(fig)
211-
202+
fig._get_cached_renderer()
212203

213204
def get_subplotspec_list(axes_list, grid_spec=None):
214205
"""

lib/matplotlib/axes/_base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4478,7 +4478,7 @@ def get_tightbbox(self, renderer=None, call_axes_locator=True,
44784478

44794479
bb = []
44804480
if renderer is None:
4481-
renderer = self.figure._cachedRenderer
4481+
renderer = self.figure._get_cached_renderer()
44824482

44834483
if not self.get_visible():
44844484
return None

lib/matplotlib/axis.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1203,7 +1203,7 @@ def _update_ticks(self):
12031203
def _get_ticklabel_bboxes(self, ticks, renderer=None):
12041204
"""Return lists of bboxes for ticks' label1's and label2's."""
12051205
if renderer is None:
1206-
renderer = self.figure._cachedRenderer
1206+
renderer = self.figure._get_cached_renderer()
12071207
return ([tick.label1.get_window_extent(renderer)
12081208
for tick in ticks if tick.label1.get_visible()],
12091209
[tick.label2.get_window_extent(renderer)
@@ -1222,7 +1222,7 @@ def get_tightbbox(self, renderer=None, *, for_layout_only=False):
12221222
if not self.get_visible():
12231223
return
12241224
if renderer is None:
1225-
renderer = self.figure._cachedRenderer
1225+
renderer = self.figure._get_cached_renderer()
12261226
ticks_to_draw = self._update_ticks()
12271227

12281228
self._update_label_position(renderer)

lib/matplotlib/figure.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1567,6 +1567,14 @@ def get_default_bbox_extra_artists(self):
15671567
bbox_artists.extend(ax.get_default_bbox_extra_artists())
15681568
return bbox_artists
15691569

1570+
def _get_cached_renderer(self):
1571+
if self._cachedRenderer is not None:
1572+
return self._cachedRenderer
1573+
elif hasattr(self.canvas, 'get_renderer'):
1574+
return self.canvas.get_renderer()
1575+
else:
1576+
return _get_renderer(self)
1577+
15701578
def get_tightbbox(self, renderer=None, bbox_extra_artists=None):
15711579
"""
15721580
Return a (tight) bounding box of the figure *in inches*.
@@ -1595,7 +1603,7 @@ def get_tightbbox(self, renderer=None, bbox_extra_artists=None):
15951603
"""
15961604

15971605
if renderer is None:
1598-
renderer = self.figure._cachedRenderer
1606+
renderer = self.figure._get_cached_renderer()
15991607

16001608
bb = []
16011609
if bbox_extra_artists is None:
@@ -2581,7 +2589,7 @@ def get_constrained_layout_pads(self, relative=False):
25812589
hspace = info['hspace']
25822590

25832591
if relative and (w_pad is not None or h_pad is not None):
2584-
renderer = _get_renderer(self)
2592+
renderer = self._get_cached_renderer()
25852593
dpi = renderer.dpi
25862594
w_pad = w_pad * dpi / renderer.width
25872595
h_pad = h_pad * dpi / renderer.height
@@ -2877,7 +2885,7 @@ def draw_without_rendering(self):
28772885
Draw the figure with no output. Useful to get the final size of
28782886
artists that require a draw before their size is known (e.g. text).
28792887
"""
2880-
renderer = _get_renderer(self)
2888+
renderer = self._get_cached_renderer()
28812889
with renderer._draw_disabled():
28822890
self.draw(renderer)
28832891

lib/matplotlib/image.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1425,7 +1425,7 @@ def __init__(self, bbox,
14251425

14261426
def get_window_extent(self, renderer=None):
14271427
if renderer is None:
1428-
renderer = self.get_figure()._cachedRenderer
1428+
renderer = self.get_figure()._get_cached_renderer()
14291429

14301430
if isinstance(self.bbox, BboxBase):
14311431
return self.bbox

lib/matplotlib/layout_engine.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ def execute(self, fig):
154154
_api.warn_external("This figure includes Axes that are not "
155155
"compatible with tight_layout, so results "
156156
"might be incorrect.")
157-
renderer = get_renderer(fig)
157+
renderer = fig._get_cached_renderer()
158158
with getattr(renderer, "_draw_disabled", nullcontext)():
159159
kwargs = get_tight_layout_figure(
160160
fig, fig.axes, subplotspec_list, renderer,

lib/matplotlib/legend.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -882,7 +882,7 @@ def get_title(self):
882882
def get_window_extent(self, renderer=None):
883883
# docstring inherited
884884
if renderer is None:
885-
renderer = self.figure._cachedRenderer
885+
renderer = self.figure._get_cached_renderer()
886886
return self._legend_box.get_window_extent(renderer=renderer)
887887

888888
def get_tightbbox(self, renderer=None):

lib/matplotlib/offsetbox.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ def get_extent(self, renderer):
348348
def get_window_extent(self, renderer=None):
349349
# docstring inherited
350350
if renderer is None:
351-
renderer = self.figure._cachedRenderer
351+
renderer = self.figure._get_cached_renderer()
352352
w, h, xd, yd, offsets = self.get_extent_offsets(renderer)
353353
px, py = self.get_offset(w, h, xd, yd, renderer)
354354
return mtransforms.Bbox.from_bounds(px - xd, py - yd, w, h)
@@ -636,7 +636,7 @@ def get_offset(self):
636636
def get_window_extent(self, renderer=None):
637637
# docstring inherited
638638
if renderer is None:
639-
renderer = self.figure._cachedRenderer
639+
renderer = self.figure._get_cached_renderer()
640640
w, h, xd, yd = self.get_extent(renderer)
641641
ox, oy = self.get_offset() # w, h, xd, yd)
642642

@@ -798,7 +798,7 @@ def get_offset(self):
798798
def get_window_extent(self, renderer=None):
799799
# docstring inherited
800800
if renderer is None:
801-
renderer = self.figure._cachedRenderer
801+
renderer = self.figure._get_cached_renderer()
802802
w, h, xd, yd = self.get_extent(renderer)
803803
ox, oy = self.get_offset()
804804
return mtransforms.Bbox.from_bounds(ox - xd, oy - yd, w, h)
@@ -901,7 +901,7 @@ def get_offset(self):
901901
def get_window_extent(self, renderer=None):
902902
# docstring inherited
903903
if renderer is None:
904-
renderer = self.figure._cachedRenderer
904+
renderer = self.figure._get_cached_renderer()
905905
w, h, xd, yd = self.get_extent(renderer)
906906
ox, oy = self.get_offset() # w, h, xd, yd)
907907
return mtransforms.Bbox.from_bounds(ox - xd, oy - yd, w, h)
@@ -1085,7 +1085,7 @@ def set_bbox_to_anchor(self, bbox, transform=None):
10851085
def get_window_extent(self, renderer=None):
10861086
# docstring inherited
10871087
if renderer is None:
1088-
renderer = self.figure._cachedRenderer
1088+
renderer = self.figure._get_cached_renderer()
10891089

10901090
self._update_offset_func(renderer)
10911091
w, h, xd, yd = self.get_extent(renderer)
@@ -1251,7 +1251,7 @@ def get_children(self):
12511251
def get_window_extent(self, renderer=None):
12521252
# docstring inherited
12531253
if renderer is None:
1254-
renderer = self.figure._cachedRenderer
1254+
renderer = self.figure._get_cached_renderer()
12551255
w, h, xd, yd = self.get_extent(renderer)
12561256
ox, oy = self.get_offset()
12571257
return mtransforms.Bbox.from_bounds(ox - xd, oy - yd, w, h)
@@ -1432,7 +1432,7 @@ def get_fontsize(self):
14321432
def get_window_extent(self, renderer=None):
14331433
# docstring inherited
14341434
if renderer is None:
1435-
renderer = self.figure._cachedRenderer
1435+
renderer = self.figure._get_cached_renderer()
14361436
return Bbox.union([child.get_window_extent(renderer)
14371437
for child in self.get_children()])
14381438

@@ -1552,7 +1552,7 @@ def on_motion(self, evt):
15521552
self.update_offset(dx, dy)
15531553
if self._use_blit:
15541554
self.canvas.restore_region(self.background)
1555-
self.ref_artist.draw(self.ref_artist.figure._cachedRenderer)
1555+
self.ref_artist.draw(self.ref_artist.figure._get_cached_renderer())
15561556
self.canvas.blit()
15571557
else:
15581558
self.canvas.draw()
@@ -1567,7 +1567,7 @@ def on_pick(self, evt):
15671567
self.canvas.draw()
15681568
self.background = \
15691569
self.canvas.copy_from_bbox(self.ref_artist.figure.bbox)
1570-
self.ref_artist.draw(self.ref_artist.figure._cachedRenderer)
1570+
self.ref_artist.draw(self.ref_artist.figure._get_cached_renderer())
15711571
self.canvas.blit()
15721572
self._c1 = self.canvas.callbacks._connect_picklable(
15731573
"motion_notify_event", self.on_motion)
@@ -1617,7 +1617,7 @@ def __init__(self, ref_artist, offsetbox, use_blit=False):
16171617

16181618
def save_offset(self):
16191619
offsetbox = self.offsetbox
1620-
renderer = offsetbox.figure._cachedRenderer
1620+
renderer = offsetbox.figure._get_cached_renderer()
16211621
w, h, xd, yd = offsetbox.get_extent(renderer)
16221622
offset = offsetbox.get_offset(w, h, xd, yd, renderer)
16231623
self.offsetbox_x, self.offsetbox_y = offset
@@ -1629,7 +1629,7 @@ def update_offset(self, dx, dy):
16291629

16301630
def get_loc_in_canvas(self):
16311631
offsetbox = self.offsetbox
1632-
renderer = offsetbox.figure._cachedRenderer
1632+
renderer = offsetbox.figure._get_cached_renderer()
16331633
w, h, xd, yd = offsetbox.get_extent(renderer)
16341634
ox, oy = offsetbox._offset
16351635
loc_in_canvas = (ox - xd, oy - yd)

lib/matplotlib/table.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ def draw(self, renderer):
398398
# Need a renderer to do hit tests on mouseevent; assume the last one
399399
# will do
400400
if renderer is None:
401-
renderer = self.figure._cachedRenderer
401+
renderer = self.figure._get_cached_renderer()
402402
if renderer is None:
403403
raise RuntimeError('No renderer defined')
404404

@@ -432,7 +432,7 @@ def contains(self, mouseevent):
432432
return inside, info
433433
# TODO: Return index of the cell containing the cursor so that the user
434434
# doesn't have to bind to each one individually.
435-
renderer = self.figure._cachedRenderer
435+
renderer = self.figure._get_cached_renderer()
436436
if renderer is not None:
437437
boxes = [cell.get_window_extent(renderer)
438438
for (row, col), cell in self._cells.items()
@@ -449,7 +449,7 @@ def get_children(self):
449449
def get_window_extent(self, renderer=None):
450450
# docstring inherited
451451
if renderer is None:
452-
renderer = self.figure._cachedRenderer
452+
renderer = self.figure._get_cached_renderer()
453453
self._update_positions(renderer)
454454
boxes = [cell.get_window_extent(renderer)
455455
for cell in self._cells.values()]

lib/matplotlib/text.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -900,7 +900,7 @@ def get_window_extent(self, renderer=None, dpi=None):
900900
if renderer is not None:
901901
self._renderer = renderer
902902
if self._renderer is None:
903-
self._renderer = self.figure._cachedRenderer
903+
self._renderer = self.figure._get_cached_renderer()
904904
if self._renderer is None:
905905
raise RuntimeError(
906906
"Cannot get window extent of text w/o renderer. You likely "
@@ -1561,7 +1561,7 @@ def _get_position_xy(self, renderer):
15611561
def _check_xy(self, renderer=None):
15621562
"""Check whether the annotation at *xy_pixel* should be drawn."""
15631563
if renderer is None:
1564-
renderer = self.figure._cachedRenderer
1564+
renderer = self.figure._get_cached_renderer()
15651565
b = self.get_annotation_clip()
15661566
if b or (b is None and self.xycoords == "data"):
15671567
# check if self.xy is inside the axes.
@@ -1998,7 +1998,7 @@ def get_window_extent(self, renderer=None):
19981998
if renderer is not None:
19991999
self._renderer = renderer
20002000
if self._renderer is None:
2001-
self._renderer = self.figure._cachedRenderer
2001+
self._renderer = self.figure._get_cached_renderer()
20022002
if self._renderer is None:
20032003
raise RuntimeError('Cannot get window extent w/o renderer')
20042004

lib/matplotlib/widgets.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1209,7 +1209,7 @@ def _rendercursor(self):
12091209
# This causes a single extra draw if the figure has never been rendered
12101210
# yet, which should be fine as we're going to repeatedly re-render the
12111211
# figure later anyways.
1212-
if self.ax.figure._cachedRenderer is None:
1212+
if self.ax.figure._get_cached_renderer() is None:
12131213
self.ax.figure.canvas.draw()
12141214

12151215
text = self.text_disp.get_text() # Save value before overwriting it.
@@ -1930,7 +1930,7 @@ def ignore(self, event):
19301930

19311931
def update(self):
19321932
"""Draw using blit() or draw_idle(), depending on ``self.useblit``."""
1933-
if not self.ax.get_visible() or self.ax.figure._cachedRenderer is None:
1933+
if not self.ax.get_visible() or self.ax.figure._get_cached_renderer() is None:
19341934
return False
19351935
if self.useblit:
19361936
if self.background is not None:

lib/mpl_toolkits/axisartist/axis_artist.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ def draw(self, renderer):
252252

253253
def get_window_extent(self, renderer=None):
254254
if renderer is None:
255-
renderer = self.figure._cachedRenderer
255+
renderer = self.figure._get_cached_renderer()
256256

257257
# save original and adjust some properties
258258
tr = self.get_transform()
@@ -366,7 +366,7 @@ def draw(self, renderer):
366366

367367
def get_window_extent(self, renderer=None):
368368
if renderer is None:
369-
renderer = self.figure._cachedRenderer
369+
renderer = self.figure._get_cached_renderer()
370370
if not self.get_visible():
371371
return
372372

@@ -520,7 +520,7 @@ def set_locs_angles_labels(self, locs_angles_labels):
520520

521521
def get_window_extents(self, renderer=None):
522522
if renderer is None:
523-
renderer = self.figure._cachedRenderer
523+
renderer = self.figure._get_cached_renderer()
524524

525525
if not self.get_visible():
526526
self._axislabel_pad = self._external_pad
@@ -858,7 +858,7 @@ def _update_ticks(self, renderer=None):
858858
# majorticks even for minor ticks. not clear what is best.
859859

860860
if renderer is None:
861-
renderer = self.figure._cachedRenderer
861+
renderer = self.figure._get_cached_renderer()
862862

863863
dpi_cor = renderer.points_to_pixels(1.)
864864
if self.major_ticks.get_visible() and self.major_ticks.get_tick_out():

0 commit comments

Comments
 (0)
0