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 5c45952

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

File tree

Expand file treeCollapse file tree

2 files changed

+13
-30
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+13
-30
lines changed

‎lib/matplotlib/offsetbox.py

Copy file name to clipboardExpand all lines: lib/matplotlib/offsetbox.py
+9-19Lines 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

Copy file name to clipboardExpand all lines: lib/mpl_toolkits/axes_grid1/inset_locator.py
+4-11Lines 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 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.