Skip to content

Commit ce12f6f

Browse files
committed
Fix centered legend bug
1 parent 56b6c60 commit ce12f6f

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

proplot/axes/base.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2140,9 +2140,9 @@ def _parse_legend_centered(
21402140
else: # center
21412141
base, offset = 0.5, 0.5 * (len(pairs) - extra)
21422142
y0, y1 = base + (offset - np.array([i + 1, i])) * height
2143-
box = mtransforms.Bbox([[0, y0], [1, y1]])
2143+
bb = mtransforms.Bbox([[0, y0], [1, y1]])
21442144
leg = mlegend.Legend(
2145-
self, *zip(*ipairs), bbox_to_anchor=box, bbox_transform=self.transAxes,
2145+
self, *zip(*ipairs), bbox_to_anchor=bb, bbox_transform=self.transAxes,
21462146
ncol=len(ipairs), title=title if i == 0 else None, **kwargs
21472147
)
21482148
legs.append(leg)
@@ -2157,13 +2157,10 @@ def _parse_legend_centered(
21572157
objs = tuple(legs)
21582158
if frameon and legs:
21592159
rend = self.figure._get_renderer() # arbitrary renderer
2160-
bbox = mtransforms.Bbox.union(
2161-
leg.get_window_extent(rend).transformed(self.transAxes.inverted())
2162-
for leg in legs
2163-
)
2164-
bounds = (
2165-
bbox.xmin, bbox.ymin, bbox.xmax - bbox.xmin, bbox.ymax - bbox.ymin
2166-
)
2160+
trans = self.transAxes.inverted()
2161+
bboxes = [leg.get_window_extent(rend).transformed(trans) for leg in legs]
2162+
bb = mtransforms.Bbox.union(bboxes)
2163+
bounds = (bb.xmin, bb.ymin, bb.xmax - bb.xmin, bb.ymax - bb.ymin)
21672164
self._add_guide_frame(*bounds, **kw_frame)
21682165
return objs
21692166

0 commit comments

Comments
 (0)