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

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

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