I think Jae-Joon's new figure refactoring is really great, and is a huge improvement over the old code.
I do, however, have one concern. Since the legend border is no longer a simple rectangle, the Agg backend's auto-pixel-alignment routine is no longer kicking in, and the border ends up looking fairly fuzzy. It's particularly striking when the axes rectangle is always so clean and sharp now. As nice as the rounded edges are, the fuzziness makes it feel like a bit of a regression to me. Aesthetically, I also feel it's a bit out of place to use rounded corners in one case but not elsewhere in a document (typical LaTeX templates, for instance, don't use rounded corners.)
Should it perhaps be a regular rectangle by default, with rounded corners as an option?
This may also be an argument for finally making the auto-pixel-alignment code programmatic, rather than automatic. As it works now, it automatically pixel-aligns when there are a) no curves and b) only rectilinear axis-aligned line segments. If the pixel alignment was instead controlled from Python as a flag, then the legend code could explicitly say it wants the legend patch to be pixel-aligned, even if it has rounded corners. But that's perhaps too deep of a change to make for the impending release and should have to wait for next time.
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA