Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a68dfad

Browse files
committed
Inline AnchoredOffsetBox._update_offset_func.
It is only called in `get_window_extent` -- and in `draw`, but *that* call is immediately followed by a call to `get_window_extent`, so it is redundant.
1 parent 196edf8 commit a68dfad

File tree

2 files changed

+11
-28
lines changed

2 files changed

+11
-28
lines changed

lib/matplotlib/offsetbox.py

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1034,27 +1034,19 @@ def set_bbox_to_anchor(self, bbox, transform=None):
10341034

10351035
def get_window_extent(self, renderer):
10361036
# docstring inherited
1037-
self._update_offset_func(renderer)
1038-
return super().get_window_extent(renderer)
1039-
1040-
def _update_offset_func(self, renderer, fontsize=None):
1041-
"""
1042-
Update the offset func which depends on the dpi of the
1043-
renderer (because of the padding).
1044-
"""
1045-
if fontsize is None:
1046-
fontsize = renderer.points_to_pixels(
1047-
self.prop.get_size_in_points())
1037+
# Update the offset func, which depends on the dpi of the renderer
1038+
# (because of the padding).
1039+
fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
10481040

10491041
def _offset(w, h, xd, yd, renderer):
10501042
bbox = Bbox.from_bounds(0, 0, w, h)
1051-
borderpad = self.borderpad * fontsize
1043+
pad = self.borderpad * fontsize
10521044
bbox_to_anchor = self.get_bbox_to_anchor()
1053-
x0, y0 = _get_anchored_bbox(
1054-
self.loc, bbox, bbox_to_anchor, borderpad)
1045+
x0, y0 = _get_anchored_bbox(self.loc, bbox, bbox_to_anchor, pad)
10551046
return x0 + xd, y0 + yd
10561047

10571048
self.set_offset(_offset)
1049+
return super().get_window_extent(renderer)
10581050

10591051
def update_frame(self, bbox, fontsize=None):
10601052
self.patch.set_bounds(bbox.bounds)
@@ -1066,11 +1058,9 @@ def draw(self, renderer):
10661058
if not self.get_visible():
10671059
return
10681060

1069-
fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
1070-
self._update_offset_func(renderer, fontsize)
1071-
10721061
# update the location and size of the legend
10731062
bbox = self.get_window_extent(renderer)
1063+
fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
10741064
self.update_frame(bbox, fontsize)
10751065
self.patch.draw(renderer)
10761066

lib/mpl_toolkits/axes_grid1/inset_locator.py

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,11 @@ def draw(self, renderer):
7070

7171
def __call__(self, ax, renderer):
7272
self.axes = ax
73-
74-
fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
75-
self._update_offset_func(renderer, fontsize)
76-
77-
width, height, xdescent, ydescent = self.get_extent(renderer)
78-
79-
px, py = self.get_offset(width, height, 0, 0, renderer)
80-
bbox_canvas = Bbox.from_bounds(px, py, width, height)
73+
bbox = self.get_window_extent(renderer)
74+
px, py = self.get_offset(bbox.width, bbox.height, 0, 0, renderer)
75+
bbox_canvas = Bbox.from_bounds(px, py, bbox.width, bbox.height)
8176
tr = ax.figure.transFigure.inverted()
82-
bb = TransformedBbox(bbox_canvas, tr)
83-
84-
return bb
77+
return TransformedBbox(bbox_canvas, tr)
8578

8679

8780
class AnchoredSizeLocator(AnchoredLocatorBase):

0 commit comments

Comments
 (0)