@@ -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