From 24fa78d9749ea70604809cfac45493119b3184cd Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 26 May 2020 15:20:48 -0700 Subject: [PATCH 1/2] FIX: legend issue with bbox_inches="tight" --- lib/matplotlib/figure.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 846e112bf5dc..cc3995247e93 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1753,7 +1753,10 @@ def legend(self, *args, **kwargs): # kwargs['loc'] = extra_args[0] # extra_args = extra_args[1:] pass - l = mlegend.Legend(self, handles, labels, *extra_args, **kwargs) + transform = kwargs.pop('bbox_transform', self.transFigure) + # explicitly set the bbox transform if the user hasn't. + l = mlegend.Legend(self, handles, labels, *extra_args, + bbox_transform=transform, **kwargs) self.legends.append(l) l._remove_method = self.legends.remove self.stale = True From b71691a6a5c9784aff83f131f06f8fb3a6775fe4 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 26 May 2020 16:28:32 -0700 Subject: [PATCH 2/2] TST: test fig legend doesn't move --- .../test_bbox_tight/bbox_inches_tight.pdf | Bin 2260 -> 2233 bytes .../test_bbox_tight/bbox_inches_tight.png | Bin 6281 -> 6997 bytes .../test_bbox_tight/bbox_inches_tight.svg | 450 ++++++++++-------- lib/matplotlib/tests/test_bbox_tight.py | 3 +- lib/matplotlib/tests/test_legend.py | 15 +- 5 files changed, 262 insertions(+), 206 deletions(-) diff --git a/lib/matplotlib/tests/baseline_images/test_bbox_tight/bbox_inches_tight.pdf b/lib/matplotlib/tests/baseline_images/test_bbox_tight/bbox_inches_tight.pdf index fbf29531c26697b3e2bf6521dadd831bdee65300..9214e27e528c8637e13225ff29077de28a5069c7 100644 GIT binary patch delta 1698 zcmZvcdpOg39LJBsG)2@wZvC8xMbS)bh6!u#!bsVOWxq4`X&dJ9^vkW~R#^ zIhjK&oFrB{2uUtSn4IHMQjv1f*?PL1r_=YJ@Ar9s-{1G={r%_lP^Cd7PutFmLIatA z8DI(!0i@LgwIo)81&c}=?tU? zNDZSn(AfZ45@-sb(deBRGr)Y884w5{y`-;Lp9>N}COwuBB55qG^rf-%6aT4;mE3)< z>j;HKvOorabc~dA-UEivsgf_cgV8irD1btJOp%mevKSyG3eG;qKiz#|#BgK#{1NzW znTyNahn?~rJEG#1SAOUzuPH+iRm0va`izwt3a9ZyoF1=|w^vO6$?<4iZEiU-xVU-( z`Y?a}_lYN9p9aq){X%KWR4s%lw$KQD_aSz;Idbc&U90EZYaxYmnrC0ZDIZY@Fp6ov zobKJ};PLY846Jf5)?qW26jQuu$;zbFZ9@~ia8$_9928C`mzS^lR3~NE;Gl@Wzg!;* zr`>Nv5mq^BieH3J7RAZ)TiI|YgYZ9Dw#3wcR)|yhxbKzh39CHyz%U%)dF}YhsQPe& zm(y4yeC6bg_a*O#4;p2>7iDOX_ijfF7|G6_x__~?xAoMi+@4Uo-1Wrp*bgI6jae{U zr~WsTU)x=Nl7i-d!Oe|K9c6#SLc`yxehw;}oCWOBpHid*oaoKXkQR1%|XNhVC#gC=GR}c2uRbukHlT%3tQjsr9#z{C)2I z)O=hfs>{`v&sObEA^RV?S0wW^RZ-8ykIz=~Yrke(Jy&%2ZdP|Ysbxn0eEPl@e!6*s zgyc)Pownr6tDC#Wx99DMK>Mc)Z&IW5uM@2m=YXopK`LrOlygnYz2&-Kd_Ao}0A1n| zXfgA!;W~{vw*`Gcs!%Y+ZSxA^*rrkaLTULrfACNbc4&I^<|skS)u}=G-Y={&Z8p|GL%WlcSLUB|)1jv3xe_Q#TyM#wL-%V~4cK$y zei&z2+|ffH?>!JWuin`CCUD0SrB~|MHLLof@zM3SGPjFl9*!5}We?pJ?N_dtJ9==f zH#VMq*`zUf@kNJH|Jl@+DUD9##Fc$7vy>L?aC!8mibl%Rv#Unx|ru?C~D%K2zqp|kHk%I zKBvsW?LeIIauqdUbYjHEQ@GxbH}%ImG0vs$#AD0jbY)2)f(@CwG7`h}GjoUq_}c^Z z>+GjOGWz-}dgab|7>dp}zh6_+?XZX2B&WR=Wp2S8ku$Z!+e`TLiOOHOiwvOvsE_2d zHv^nnw_{W1O3T-Aq z>9?AN1k&GV81w)8FqrT7uqdvcf`>ZVRD$nsGAuD>+zbT*+!AXJH!vW0I>P@2C8ptP delta 1734 zcmZ{lc~DbV6vkDA$U{XI6;R|U`(j>R5|%)~vM*uLfC2*)LwF<*NJ8>R!y3f8;fxsK zU{P6A5LrY4MK-H!wP0~8DB^-5h_Xn*QIrDh3)s;*?fvK8bMAM~`R?4A->p~cRy(>8 z3P|K5Amq$I8L>PT2yJJu5Ftne2_PMGZ~zc)BrhTcu)$*aOr=UgH*5rzgQ%8h}LBbUoVg;>=v5TYYOUV?y$*_GS-+Aal) z7wv+OH^OD1Y!HSQG>}_#tW364O@iG`hzbx!93Vbb{L`HygGOt9nMecj(~CdefzNvA z59JIV#Rd7;YFkRH&5>})tvZv;O-=N^1No;NK9;d(NpUMjQWX;X-LAbHKDq3DX2Ihq zLRkp8@NoO9Yu49lw6tdadRRMGpE{$wDm?z~XwK!GrOyi*K0QaN8Fq@#k|cR>pZj|& zWH=EtakSE)rOPGs%Zhl9^$o6CL(Ew-GyXHGF^Suak}}R z(Y~} z>srV4L-21y?>EO!ZgMi|(`0&UbPx~S$$<)+`H8%J4CR3!BU@oj(0KbD`@no*S061qN~X7-3OY z;su4PNz0y=6s)Z57(1ajel`oHg%*o*1C6kRL08gUSabB$jRf_J zQ)WlYIX1y<8y+{PXUf{VCbv{&G&T&@a4t;{+JibOy745t!g6D=2u8-AI&ABx(1b{K zm&%RPMfXBxm6trM)vl#Ynq67el$60<|8l-Y3-E~DC(7-U> zc$5SzZ>y4SVGPZ;THwY+DxS&xoOmDT9~$rtq1I1OxE^Z zX(dIkYEXQ(RAYR@LG!xCG3P3mm|K)0J6bbaBT3q7QnYKY-G{*C;&NZp16G2*GkI@x z5{n;H({HA=exj<=so5{yxiucM-;q^Px^%Vg?LBM#HFQ{ePyLbe7Sma=+K2EIU(aA2 zTgoJ*t<9!b^L~|eZ2!_u)`w9!>pmmlGxZjjA?FB8Ad>$OKp1a{C*b)!Axb8Z@R5j!V9p{&kgYAr))pWeMftW6^hJ*630S58v|Yf9 zOkg7auEZxtMu8CwCI`E;DfSV_n?>`uE^?ZixY!a2uq6z`6qrP`A(FNd$i@VMu_+)6 z#W_1zQ81{=2gn71g#{)iU@-nRN5p{qP0orab6laZj{F}x)&!Z-3ZM048|-)a=9IN1 TEQ?v;3Q&kJU})&-=LY-@C8)zi diff --git a/lib/matplotlib/tests/baseline_images/test_bbox_tight/bbox_inches_tight.png b/lib/matplotlib/tests/baseline_images/test_bbox_tight/bbox_inches_tight.png index 3aff36a6b054a0f248fd7c315cbb19648e39a225..f2827b5b78eac059eba6c0f101e61a602ed6e917 100644 GIT binary patch literal 6997 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 literal 6281 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 diff --git a/lib/matplotlib/tests/baseline_images/test_bbox_tight/bbox_inches_tight.svg b/lib/matplotlib/tests/baseline_images/test_bbox_tight/bbox_inches_tight.svg index f0773ca06819..1e6229adef8a 100644 --- a/lib/matplotlib/tests/baseline_images/test_bbox_tight/bbox_inches_tight.svg +++ b/lib/matplotlib/tests/baseline_images/test_bbox_tight/bbox_inches_tight.svg @@ -1,8 +1,8 @@ - - + + diff --git a/lib/matplotlib/tests/test_bbox_tight.py b/lib/matplotlib/tests/test_bbox_tight.py index d4b3d6f1564d..4d52580e8b5d 100644 --- a/lib/matplotlib/tests/test_bbox_tight.py +++ b/lib/matplotlib/tests/test_bbox_tight.py @@ -10,7 +10,7 @@ @image_comparison(['bbox_inches_tight'], remove_text=True, - savefig_kwarg=dict(bbox_inches='tight')) + savefig_kwarg={'bbox_inches': 'tight'}) def test_bbox_inches_tight(): #: Test that a figure saved using bbox_inches='tight' is clipped correctly data = [[66386, 174296, 75131, 577908, 32015], @@ -35,6 +35,7 @@ def test_bbox_inches_tight(): plt.xticks([]) plt.xlim(0, 5) plt.legend([''] * 5, loc=(1.2, 0.2)) + fig.legend([''] * 5, bbox_to_anchor=(0, 0.2), loc='lower left') # Add a table at the bottom of the axes cellText.reverse() plt.table(cellText=cellText, rowLabels=rowLabels, colLabels=colLabels, diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index 9b528cae9811..df09a884b42c 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -309,28 +309,32 @@ def test_legend_handle_label(self): lines = ax.plot(range(10)) with mock.patch('matplotlib.legend.Legend') as Legend: fig.legend(lines, ['hello world']) - Legend.assert_called_with(fig, lines, ['hello world']) + Legend.assert_called_with(fig, lines, ['hello world'], + bbox_transform=fig.transFigure) def test_legend_no_args(self): fig, ax = plt.subplots() lines = ax.plot(range(10), label='hello world') with mock.patch('matplotlib.legend.Legend') as Legend: fig.legend() - Legend.assert_called_with(fig, lines, ['hello world']) + Legend.assert_called_with(fig, lines, ['hello world'], + bbox_transform=fig.transFigure) def test_legend_label_arg(self): fig, ax = plt.subplots() lines = ax.plot(range(10)) with mock.patch('matplotlib.legend.Legend') as Legend: fig.legend(['foobar']) - Legend.assert_called_with(fig, lines, ['foobar']) + Legend.assert_called_with(fig, lines, ['foobar'], + bbox_transform=fig.transFigure) def test_legend_label_three_args(self): fig, ax = plt.subplots() lines = ax.plot(range(10)) with mock.patch('matplotlib.legend.Legend') as Legend: fig.legend(lines, ['foobar'], 'right') - Legend.assert_called_with(fig, lines, ['foobar'], 'right') + Legend.assert_called_with(fig, lines, ['foobar'], 'right', + bbox_transform=fig.transFigure) def test_legend_label_three_args_pluskw(self): # test that third argument and loc= called together give @@ -347,7 +351,8 @@ def test_legend_kw_args(self): with mock.patch('matplotlib.legend.Legend') as Legend: fig.legend(loc='right', labels=('a', 'b'), handles=(lines, lines2)) Legend.assert_called_with( - fig, (lines, lines2), ('a', 'b'), loc='right') + fig, (lines, lines2), ('a', 'b'), loc='right', + bbox_transform=fig.transFigure) def test_warn_args_kwargs(self): fig, axs = plt.subplots(1, 2)