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

Skip to content

Commit 5c45952

Browse files
authored
Merge pull request #23896 from anntzer/uof
Inline AnchoredOffsetBox._update_offset_func.
2 parents a24ee3c + ad94907 commit 5c45952

File tree

2 files changed

+13
-30
lines changed

2 files changed

+13
-30
lines changed

lib/matplotlib/offsetbox.py

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1066,29 +1066,21 @@ def get_window_extent(self, renderer=None):
10661066
if renderer is None:
10671067
renderer = self.figure._get_renderer()
10681068

1069-
self._update_offset_func(renderer)
1070-
w, h, xd, yd = self.get_extent(renderer)
1071-
ox, oy = self.get_offset(w, h, xd, yd, renderer)
1072-
return Bbox.from_bounds(ox - xd, oy - yd, w, h)
1073-
1074-
def _update_offset_func(self, renderer, fontsize=None):
1075-
"""
1076-
Update the offset func which depends on the dpi of the
1077-
renderer (because of the padding).
1078-
"""
1079-
if fontsize is None:
1080-
fontsize = renderer.points_to_pixels(
1081-
self.prop.get_size_in_points())
1069+
# Update the offset func, which depends on the dpi of the renderer
1070+
# (because of the padding).
1071+
fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
10821072

10831073
def _offset(w, h, xd, yd, renderer):
10841074
bbox = Bbox.from_bounds(0, 0, w, h)
1085-
borderpad = self.borderpad * fontsize
1075+
pad = self.borderpad * fontsize
10861076
bbox_to_anchor = self.get_bbox_to_anchor()
1087-
x0, y0 = _get_anchored_bbox(
1088-
self.loc, bbox, bbox_to_anchor, borderpad)
1077+
x0, y0 = _get_anchored_bbox(self.loc, bbox, bbox_to_anchor, pad)
10891078
return x0 + xd, y0 + yd
10901079

10911080
self.set_offset(_offset)
1081+
w, h, xd, yd = self.get_extent(renderer)
1082+
ox, oy = self.get_offset(w, h, xd, yd, renderer)
1083+
return Bbox.from_bounds(ox - xd, oy - yd, w, h)
10921084

10931085
def update_frame(self, bbox, fontsize=None):
10941086
self.patch.set_bounds(bbox.bounds)
@@ -1100,11 +1092,9 @@ def draw(self, renderer):
11001092
if not self.get_visible():
11011093
return
11021094

1103-
fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
1104-
self._update_offset_func(renderer, fontsize)
1105-
11061095
# update the location and size of the legend
11071096
bbox = self.get_window_extent(renderer)
1097+
fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
11081098
self.update_frame(bbox, fontsize)
11091099
self.patch.draw(renderer)
11101100

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)