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

Skip to content

Commit 00b5604

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 3170fda commit 00b5604

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
@@ -1044,27 +1044,19 @@ def set_bbox_to_anchor(self, bbox, transform=None):
10441044

10451045
def get_window_extent(self, renderer):
10461046
# docstring inherited
1047-
self._update_offset_func(renderer)
1048-
return super().get_window_extent(renderer)
1049-
1050-
def _update_offset_func(self, renderer, fontsize=None):
1051-
"""
1052-
Update the offset func which depends on the dpi of the
1053-
renderer (because of the padding).
1054-
"""
1055-
if fontsize is None:
1056-
fontsize = renderer.points_to_pixels(
1057-
self.prop.get_size_in_points())
1047+
# Update the offset func, which depends on the dpi of the renderer
1048+
# (because of the padding).
1049+
fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
10581050

10591051
def _offset(w, h, xd, yd, renderer):
10601052
bbox = Bbox.from_bounds(0, 0, w, h)
1061-
borderpad = self.borderpad * fontsize
1053+
pad = self.borderpad * fontsize
10621054
bbox_to_anchor = self.get_bbox_to_anchor()
1063-
x0, y0 = _get_anchored_bbox(
1064-
self.loc, bbox, bbox_to_anchor, borderpad)
1055+
x0, y0 = _get_anchored_bbox(self.loc, bbox, bbox_to_anchor, pad)
10651056
return x0 + xd, y0 + yd
10661057

10671058
self.set_offset(_offset)
1059+
return super().get_window_extent(renderer)
10681060

10691061
def update_frame(self, bbox, fontsize=None):
10701062
self.patch.set_bounds(bbox.bounds)
@@ -1076,11 +1068,9 @@ def draw(self, renderer):
10761068
if not self.get_visible():
10771069
return
10781070

1079-
fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
1080-
self._update_offset_func(renderer, fontsize)
1081-
10821071
# update the location and size of the legend
10831072
bbox = self.get_window_extent(renderer)
1073+
fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
10841074
self.update_frame(bbox, fontsize)
10851075
self.patch.draw(renderer)
10861076

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)