From e5b5425d8eb2242912bdc977bc1d945a3fb6a320 Mon Sep 17 00:00:00 2001 From: Michael Droettboom <mdboom@gmail.com> Date: Tue, 29 Dec 2015 13:07:25 -0500 Subject: [PATCH 1/2] Fix #5757: Fix axis_grid1 examples for recent chg --- examples/axes_grid/simple_axisline4.py | 1 + lib/mpl_toolkits/axes_grid1/anchored_artists.py | 2 +- lib/mpl_toolkits/axes_grid1/inset_locator.py | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/axes_grid/simple_axisline4.py b/examples/axes_grid/simple_axisline4.py index 0998189ae7b3..cac8fe0ccb94 100644 --- a/examples/axes_grid/simple_axisline4.py +++ b/examples/axes_grid/simple_axisline4.py @@ -13,6 +13,7 @@ r"$\pi$", r"$\frac{3}{2}\pi$", r"$2\pi$"]) ax2.axis["right"].major_ticklabels.set_visible(False) +ax2.axis["top"].major_ticklabels.set_visible(True) plt.draw() plt.show() diff --git a/lib/mpl_toolkits/axes_grid1/anchored_artists.py b/lib/mpl_toolkits/axes_grid1/anchored_artists.py index 5cc7c07a2e3c..fd02370f230b 100644 --- a/lib/mpl_toolkits/axes_grid1/anchored_artists.py +++ b/lib/mpl_toolkits/axes_grid1/anchored_artists.py @@ -125,7 +125,7 @@ def __init__(self, transform, size, label, loc, self.size_bar = AuxTransformBox(transform) self.size_bar.add_artist(Rectangle((0, 0), size, size_vertical, - fill=True, facecolor=color, + fill=False, facecolor=color, edgecolor=color)) # if fontproperties is None, but `prop` is not, assume that diff --git a/lib/mpl_toolkits/axes_grid1/inset_locator.py b/lib/mpl_toolkits/axes_grid1/inset_locator.py index 43ed8dca6844..65c96d082d8c 100644 --- a/lib/mpl_toolkits/axes_grid1/inset_locator.py +++ b/lib/mpl_toolkits/axes_grid1/inset_locator.py @@ -312,7 +312,7 @@ def __init__(self, bbox1, bbox2, loc1, loc2=None, **kwargs): raise ValueError("transform should not be set") kwargs["transform"] = IdentityTransform() - Patch.__init__(self, **kwargs) + Patch.__init__(self, fill=False, **kwargs) self.bbox1 = bbox1 self.bbox2 = bbox2 self.loc1 = loc1 @@ -582,7 +582,7 @@ def mark_inset(parent_axes, inset_axes, loc1, loc2, **kwargs): """ rect = TransformedBbox(inset_axes.viewLim, parent_axes.transData) - pp = BboxPatch(rect, **kwargs) + pp = BboxPatch(rect, fill=False, **kwargs) parent_axes.add_patch(pp) p1 = BboxConnector(inset_axes.bbox, rect, loc1=loc1, **kwargs) From 0ffa48ed77092a4c67abe67464819edde93bb440 Mon Sep 17 00:00:00 2001 From: Michael Droettboom <mdboom@gmail.com> Date: Tue, 29 Dec 2015 13:13:51 -0500 Subject: [PATCH 2/2] Add test --- .../test_axes_grid1/inset_locator.png | Bin 0 -> 10385 bytes lib/mpl_toolkits/tests/test_axes_grid1.py | 51 ++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/inset_locator.png diff --git a/lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/inset_locator.png b/lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/inset_locator.png new file mode 100644 index 0000000000000000000000000000000000000000..541d36788674bfcf10e21feb52add526028e64a9 GIT binary patch literal 10385 zcmdUVcT`jDzGi5mpkM)!E-Gq>7?CDD7J3l~9YRp5^k(QyKS7Zqp$Y<_OK8$-fKLUa zNf7D1x6pgPZ#;9(J@>9zGxN`^S>sw;lD&4`@@voYd-nTIT}}QR9UC140y(Fs@I(^= zq1Xi1htsFP9lc^~Bltt@@<>tZH2CLz+Uza(e#TKj-vt6;d`7+~KFegifIzN76rViQ za{sh6>=VMV<1@O}AuZEB@-w38*1M>%D20Vx$B1S<5pyxdGV{iD<Wk?mg6Hf^Ru?|Y z5%1e|;@({x3^1goNi9QQ%Mb(UDXnD`>sH@1F2byyC&ZW%*O%8mUJI9$Ui|D8*FPIH z&s{CQ_T$nDrn0(N;=q@pQR&-WySIbSP`JfRd0jz=6Nfwmf-Be?z6%yBDM`r*)_Ijk z0a=Co|NilG6{`Mf!pD!DIR&-&&Q6Vn=K|%e6#n_mvm5d8@xT6lO)Gr={scxW34yDg z>()hgr#ucCx=RHya+&&Zfv`LA-adBx40Y9eIeB?rML4HN0T-)sm7z*x7>C*-5jJTb zD{$Vup!)qzwM2em(dJ;#@$%2vt6W?G%c%{6r0@`4;VOr|Y3uk)Pv7k4&-gZY4WnvC zhZ`mvx1VWpKp<QQ92I1Yf?E8~$24Brn`ITKuk~Yu<+~#en=ndF{_)2JUVkQFKMF?B zLh7k@2iS;B9P;sXMm^0AsNNq|M&o+*OW1p3N_%*VOy>a?M?#=ns(q}W`e|2OIP=}6 zt=_s1-Q36Hqm?MSFW;5rM{+FD-fc_wPtgT1Yzn}na!V6@u<3pnvt+KNufebD{M<E9 zR->h0%Pi`7{IdsyZ?`s!3rO~@g*USI{cnZl9QEs@WzvrF&u<624vUXY&^caDTMJ93 zSH3WZNXBb>w<IaNup(96nC~o1FIyIr@EvjIE5UD2YugR(l`SckPU~T{JP^eEZA-(@ z1v>76VdIGW!P&{Rr#k{rhB;)Vi(+>$1#g+5eJmx8*6|I)CRD<XuLzpe;@G^T3E70? z69c5R+G(StVxt74XE9KSCpFke3aObVdnU5bvUYLS7c<eBpR_`CDcp6*X!x+dir{~a ze#V^}JjMg|+b3f9Fzwfti;P5JWzMWu{(GLm_T*56d^LFk(2h4+6`$0d;pKxAHLnr0 z`yq(})AZd@R}3AinIKYsfje&}6?6u)CbDVvzAfoj(D;j<pF?m%hu`8QFGUx+^^g~N zr8bCR^8(DSg}dPP@n6I10tWhj^Aq0)PzcNX?U2#k7sF!j`9ve)^3SfC1-jOTk(}rg z^cc!0h05n^w&Her_EeJC-fjZ@7?<}Qh|e{@PW5hv!nm{k=HwNAxu5yS=6$dv){VTN zw_rhtyeZ`N?++mam-W4&{8I?{HDIC-Qi3<KnADv=^)EqU<Z)C!^*`f+?VI_8j4<Ti zfnf49;$>G~_SQV5OrUfJi9YAluZUb%Y+PP;)1e~DfbeP3XGN|p#ZWq3zCf|M3~mHP z+Xrdau<2qmj45*c!4PqYBGdG`%%jghaQSnAX{1`57Rm=hQ5)+)93at%lU6?|H$P8A zSMU{IU`?*6!XMet<>K`fVdqp0UVQpxdnxWyTV{tq@7K750pey{&2!c87qTktd6aQl z8*cU!EiYYFQr=9aNmV?e^^A%ZU{;7>_L5u#Uf+l4&LJ3`@mQ&kzldHIy2JWQKgLTY zvWZwbkVSL#-(wiGPAiN`cxsGFh?klf`X)7m4?O}4yuD+gS?c{I`=@n~F>CK!?Kp!D z&7G~b?>bU~g)f`Sl$#tDVFz{NnzFA$4VMv&MO~R+7dL`!Z&!dFN<RbxWa@0fye!_< z&O+kJ<26bP-^iLkIx_+@>PZ1J3Sd0-Iy-Y;L2t59{JFss{RX$ra!JX#niCO8wqjpo zrZ<KBI|2K0Dk}yMmFHo0e6=nQ1FYJ~!NXb`G(x3!o*JuF!>TcFp<?5^o;jESv3p6H zD+%LFG%n(Aq7<@|$L&BaQwQAWXGI?C$*$e9D_5o%u&$(!%APFt^f<A(t39PkEl#9b zcGVe_f}?SzKdl{JJb9Lfc9KzU&J6c4ysjGlQOCtCZiLvSnmpOkTP`Xk=QnbAe%R_+ z+sx%g@AS%HQQyNyU0LqQ#txosYKf?=T2Us4{aq`@q!cPCoFg=4;ZYojE(1AWg?gm~ zx_Dk$kuJ}R2%FQc_2#9)Px~XGygNUeXI-k<Amr+06eE$Km3PHt2?Jq#1HM{Vs>pIR zLnSp`K}7n5fIENkIw7hsHpd0R7zA#ZB`YX~Jw27!4UxP-$>|u8D8TIXRfqWbk265H z-Gz1plJgZixC9vh0crHyQf2RvHgD1dM#4Xc{D7X(g0Mi@RlkZ-5VK?U)Z$~Wer<hj z5!4_XpFO@9a`(%xZ*(_Wg6(Y3mcq)9<GWf=2Qy|OKBPf|!Ob{}gkqyT3;IwU-^x86 z&q=u9mCdEgjU+qY9}&s+);sLzp`J~s@yVmE$4nY8x(|Me__>#y0g)LiCfuB)(%dHq z=k}wbC^^G@3lTdFzk;`TtQ6+LPlfXVanPC@l1)^2IIc<qd^g4;`Ixrqv(7rqi!Wn* z*1nWbJb>mrrkB->;2p%Mk~){)Ni9iTAUf{NxxEBetSzj)i?WX&_*k~T>#=joaaiu~ zafGfkKJ-AO^r)h~+QW9@$P--3W$j$aztGDksS-5j9@tk>q0G!xWXsK%+3r@O=pf-d z#DKfmeGjKch332%aM!`Ylu4JM&9guH8Z-+a1K|kTs_$wE!4Bn2Z*_<7()iPYD#Q|H z@s-c`J**k{k`rVB$^_W`x^{z`9w^)OX<&?R99gv(ujjorhY!VbDCW+Bis-7hreqXd z>Dc5@zVe&Zt}B#zhrL^?tI5~Xw`g7<rAw8euX7W+Nh`Daq|3B66>aU=##ndUkl8e+ zwDI`&6dNKz#xZ{$N$TB6;Oc5yQPJv+mzExQ4Fi+qmSoqfD|R*&lc)a%rhokj|8)CZ z6xM5Yp!PQmG8BrS6~FB^qR!84Ccp~e1d+jMmZADabc$IYO%6YD?c&tr-;I_K{O;C4 z;Yt(0;Ht2#rKHw<%ak#I0k;9hd<<sk>&bofm>Kx%9t7N>;@jY1&b)ZP(GnP@-v25w zfZ@wc<T?!}t0_HLi3tKg18v_6<XR&Ay1ey2?<6og$Z1zGBc0)q;}BOyn@TD>i!9YW zQ|5-`l4{QpyDA(iIJaVSc?E5CJchRS{ULgsTY1#gp8QBAtw306CKN6#Gt*d*9?!Lb zXAqH^$?Or8%G7t7PT;!KxzMX|dLGl&B<}^Fvm^pQRby14mvJowq>wAvNQuTXz7#z3 zb6^A%*s>ik0!`5SVB4SM0#5N5+|h&`L`lh73PYAnG>sS^I6ue(_-!^A@Qz>nUSUH< zFfn+jKi#?k4CwF0At9b;DxVc=+u9zB!Z%i*-sEzei*^cKX2(>YmAnBH%>9uj_NF(+ zNbID5yEf0vdS11h<>pz!y=N7gj5RA>^6&*O`K%b*R`{jgttgxdXL5Jz0eaEo<!g}q z1Gsql+irKWBf^c{@&f%fS`3y3%GY~){4pLD&vTMK_Enh;W=xiEMIVhiW~ct$DCmki zM-JSGi>^9UV;3not*9hS`Hs^wOi~vBV4PwKV315-w^evE|JT_VPnxl7l$`DgI-Yv9 zj@s|C=5kNfOHqrjp6AH&t(GDejJKd(R0QcS*FU~({65=TA~hl$<x<VGr>%|1aSt4A zF+IL44UOmg<=uLIUX$LmOie__Vv>DBHGHo#t8R2NZo{)E`^Y6&*eA?7NM<`tRml0F zm(v>tNoqi6Orn?v2Zn!ILmc5?nGwhwKUDjlQV|KM2npxG$?nky;`={fC&}>)0V&Q0 z5JE^(-QDzWfDoY08EC-vqNNfwoj-v=JgI<RuX=eZsP%U|zYp;|1-^oM94sB9{Ue>` zhW`j)nW}h@;qWUefmB2!2wcT&Go^J2C6cvo;RVPX6IcW`Q6#$09(q0p1Oj9T;GF7h z0<*@Nr%~er5T%=!!6UDt1*XGwm`Cl&kKB3aa@i!Bj4r}(zb`xDIsHo3YHQ3pFw%?K z48=`kd+&yKM)OgJupfh+!?QN}c1CE4BbRdX3@rs?0L;}Sny$-9d**AKJuMMnqDeHV zB-;d^K4&Tha?AhV{9HZX17<X+fyTg9#02mJv-4~up81th(QlYPmn@Dd$Ap}}Gt9<+ z@>lP207EX$U=`*j(%dcPp9C-o_5&2)?0w)_T-KVDs|k%xqn2$#o=H(NT*s~7Ptsde zj_-@v;Krp)X>kFPrtE4J2xS1Wn^?O_5ApL=0HU~XlH8ilT8LFopBB^<w;ngZ!mVa& zqgi4o2Bz!3U*?SKD>57Wy{1p7IT4QKW3wG{rsb;tnLb6|V-~^>FbX1hK7gTyz9}Mi z^UKAj{6Dx;irM@}z}i+)T?O&$h8j1&QOwbU!awpRT4Xw0m&q?xMm$Gf$=aUz+{2$Y z;#Y)<Ha6Pb)ZT>&i;ZErvOe^P$fSSC+7rmDv2?kgz=hPTm=~zO1}L%l1AsR|=A@)Z z_?Pu#$e0Kvr=FZIIn_ao0C3y~F>>eI&p5g~DBrr(2#6vR?bEJfT%|=%w-w0+8cr?l z7(VooM=S#ZsP85-C1*tt;9LElkXEW>;%(9m9>3ddi>TZH=|%J-e**<}N}<u7k`v(v zK%`pl<1<jfm=v@?G5o`g&P|tp<1>EOYI2{$U-}7->KrIWa3k&Kw?Hx4<nD1^p^#_D zVt)E2#?~;u<DPhv(+vr`mMexIWTq-m3}euyFtx?L&UxNJ=MD2%{Mubg0xgH9xl!6d z;P72j9CJZ~mM=Lg(J!l`Vwjn<$<bGxFCQ<BkuF?!S~0IJsFY`U#+)E6uNaZpRPswG zBU&J5?_|Q5*`wI0-kIe#vdMC5{kYc%|0AJdn&GqWORjq@!J!u9)f+s*nU0BRH^&Pt zDihX4DG|vNlk`+@H=b;RyFUOb?z07i1z2XOzUg6R8c`>=23D-#jt*=;T1qN?>H&F! zqLiFe{N$``fWIyUCKUtU+sSEZ4~v?RD1_{@gI{PDzG^`W#hs<Czoe&kimEk9h_^27 zd%j1x@{9K;PP@N-U<}ftg^JvttbBP`O@#F*^2^W9UC{##$n&5KM9B;WYPS}SX6-8T zftI({L!Qx8jC|#HJDdJ1@2!&PbCB+1tkmMCuzxZa<Tp8UOK8f61ROc!iv%-6P%i5< zgf9KO^bf&w1r_MhH>a*PT#m=JS=k{EXtnM3Ir4-Av&&WsbqyL0JPYiF3|>rI2DmxB z2@610aOj##-+2uPpyXeOruxFJ%vagi)bQycV7`GsL=(b^PrCmWdt$fV0<(V*SoH0F z(Av>aT#lp|69a1s23&3=O4l9L38D*^ciQ!Ai1kPTsXra-MMhJ|Ko}Smq_CoJa){Ij z7zDB`hch+NV?`F)mAz^X29y{vcwz3!>FLT3bg^f7^}#gq<nI^|WLn7Qw&YStrZetI zlS1M-Ql(e@`oL-+W5(3tk_E2U@#`vDr-}zD+^@h6zHQ`|K>cb`cQ2I<W^DeY6CbF> zWaFs<YuBktVOK>O$QCn8p3NtYzfe;xx~0my)7ISNAOT^Vyv~pmQ)l(rI*1G(fFiiZ zgOo8qYE4Ddke3IRvzlwrpGC^%VVxv{k`I^~^bQJY(E8{1?Y0xsbgMjT9XJUCr7kZw zEEl&A+(~n;x*b8w*NNl$m;o&_7o8Mg-g4!&s1;WM6W;kj`GS}KXlak6FV2m~<Gw}W z`~5*-+?1ldcMr^u_4yj*jV(+7sBj8o{L`XenG;V9=)QZoI9;mG;n2~=oNK-Kw~G=v zFGFp<%>o9fq#L!qbz)WN*|N~G2Qm#MS-YMV;y<v_oRk1x{JOS1{32U=Ox&VW#!%vp zTfPCUZXrN>;g>Zot=zHp@=+48zcU=zxBNObxVwhsaNk@=Ay9M$emCszxm*#!=*SyK zJt>nYiCOs4i62TL_Quh~aoy5DWz}Bs%L5;8(5av#dfT+rB&3O@T@QhMEDDR`3vG;# zKTKl8P=&K&o&?t^0vl^6jAL>5Wy|=v?o>2DN3dtWKbu)xnY<)(b}`DG?fTKm+U+XS zCEyq3%A60tNEz<JnJu<Y8gEq}L|+v>7y4w2^gg^2bxN`=dp}CT@<+>AnA^>4z3wbw z!{YnWQZQ57hsO%4niXp@PUg#iKO{ZR2>MsUi9ow>WZ&bAO%yRtR>_WG<f{=V5azCe zns$8pLkPc10rLkUqe;zCfg^&-mclsMjE`?gB~X|t{yvM2<LC4gABWZ}$w)Jw&ZYHL z0P2$0|8$}sep(|U`7r7Lkui;0YX(Ng3fk{b8%kjv(0%t9<I_H`5J8rJLym8G$ciw5 z?3(i^#i9Y_2fkfrIomvYyYL%!FF-kX<;xT!Lu0xooQF7mrZg4ZFZh`4cr5`ih|N1$ zHv#yA9~5OFom+fmxm&HL-q_s7bimF}R!<&<ApWxwOWZ4zCCgA+8YhKM&oyW7Mh~@W z7Ss=O$nzP8ci$>k&D3fSWMYF_?Y=HIBPAk#+;OW31i-ms!w{LUa_B*OE?|U;fp9;+ z)90IgY-cYiBzx|2o=Gs{83eYam<P10pmyzHv;v;!H;#CK{*bRGo7g=&@elg9wD3su zwLe0BG)Iq2R}4fEqf)dn$aWgDWR+&M1U{8pQ}o)=R}6_in(|>~-7|ySfViivfKhAx z)4t!eFE?HN-6B2x^QO7E%JffO-li;&(mj6LMHeMlrWge)?bOfD&3OSL;GLC$h!S~v z<!sn>K;XBU?XooS%v3;C=^6+h`2ZO6!`HItQx^ilYISOuHRk11Y~qH)DAa3MBNDk{ zgg<J&<jKY9YcBW*-rxQSI#}mw$%+t!Ji53m^RO^@VvyX8i>DTy2a<)krAoAY<5ak| z87UvWf3g3QX(tQdS7{DnYDasOAku3g9cRWlyI-OEkz3J&Kqy$J;b=%UAjT)xWba0b z)U5z+6IQET5v6X<)23OlN}aWUT&~eb9>Rb^(vSr@k{+K0{6*7^whMm;pLX5k2VBuA zhG`fJ*eZ?}?62Uvd4_8LEjG?}ktyNBOQO+3%JPCjL14Lm<T@4TR-0WCPwGmPebDH< zl?c1WRs9|ysVs7~&&m2<zA!hZTv<#O<?PGT9JGok`Xe(*n<&oq#+m5DDQ#K#d8<Is zX{W(~6C&iD>B5Q0tb`n$bttHFKnbZ71>*pN*zFpnrRl$IwzJ}<<n+mkXT0qtl3m&{ z3b1obT1~YDZR;u|0hAODbywxIwElb#nh95-$Ckid5@edOYessOt-E=uDMCp!wdmKk ztuPCWLQ1LZIhh?DLR$Yl)z?H1YVrLr04jqP#WlP}x=GbJY5gi-sHDC9sWMfMr1xn# zz&g?74xsf+-bveLiv$&?dONLI@@M$IX2quu05vAEJwiEZ^7}-@<NpTjz&-#ec5WQ# z<z7)}=KPk32Yc)<26F=l>hZHMc$al~im`Z(ehBQ};ei^V*Z>S5jp%d=L!v{8N(n7V zHDD1NqGqI&G*(YW;6{zA3)&tx@e!|k0mgCZR552448;g&>yxau+w52;UA$E<N&zi$ z^q-<cS~1%|&U2c@$ie%W0MOUvfi*+c#AM5foo9~%fD0Y1fdYmtv`kWzw|Z~T2|xI) z4(vgbHqvREl_4zS3j{o1#}gi6C(Am^IqjwM%7lrO2injb3sdL8c^)z5y419?9-npm z#p*e$z+*Y!NWB-xlu{a5k!i3*pGK$jiEcfg&e%)PZs&)9?+6`Eikg!Wb#FJM!dFjG za!M7DeQmAqt%J}|tdeUmkJ<g13U?EamjV@a<<nPoy2HDFy8z4AkUs8v_B9&Ymrwo; zP>XbF>pa{zw3Q{lrB4_>8L10|z1Bl|cfhQYEVF``hq2~Tws&%Lj7e4&d~VXvz4YD4 z7!mK~q6vx1V5I>dg|f6sIA;eoHjnZ6!3<o`17WC4^aqfiKGpzXaX)5q<)ksHjrQX4 z&+dUJenE~S7c)|7@c_;%EA1oH>sPLukRdW^j}!uQ0wx2bbM=#YZEA7P_(T!V<v2A6 z*Dt#YwZ`$)F-OZ7YdCip0n1)@6`~^Ngnq`yFTuSN1FL(=AUf{m%pA3VcB3VZ&*(m& z|3EJ$4$L~-u5HJ{$1raYE5QE602uw!@w*JIOPWL)kh!GFYVr7Pke0{BAT|DyMf=l& z$0GkBoY)#4UoDOzv^b@Iovr{da*&>Fz=K=Otm*Ns=<K|sC@*MI3XGagmR4P!0rt}! zspK%+-DxYG3;L)OZbIJF?x(Mdb5^HHULoYkM1b-!udF<1C|`+W>pkp`+>%8vaJJ*` zV?a@t<xWduUHt;a<H%Zw^tqOiveUNCGdgQ6TUV471T=zaI2(3U15nO!?&^&17-ea$ zEQsA>T-xl^Pj>wD>wgF!{Em3d<wu&B{roVC@Iix}cR5NS?XdHv&g{f9z^Y+@8;yL> zHKXd#Ja{vy&|o9b{{q>Q?x8DRY<PdW4Qf_o3n#t+4=R<8=`Oc@2=to(x~B<qi$f5o z=HS`s^6PY0%z6FH%A_kp!z>WGzzxuTBvgz!8SAREsNZdb*nX!4d=&iz{MYwNPTE(y zP(wVP!XB6v39wSOY)Y&Bly*DjxVMYDfG=tSv#Mlmp6qNHXl4%F@X1rYcuU4d|6L;R zu_pzH!~5&wu=xFU0o0zuV70R}`g0~f`hoIi_@tVAaR~Il3_sFI>ii_fU>sZMr4~TF zxJX6#3m7|l`n4u6E;RY0raS6cb23fIA!!c3T-RjS)$-mab|iSAhucnrpXI}8S4FT7 z(Uk=&3t{ni&bWv|H?{Fn^5o25awcQl4~5M!H)ym7v!%5hR;6o;hMM5ziPlv9^(giO z>X?v*b)Y}#e~coveNie0&I}oLA=8HS+nnwGzM$!+!W&e8`lI!z7MJ!NNpG+*&K@lD zP+kx>3d$<<eR+!w-B9I(am_VGk^CZ;`@D)Sp}h$MR~1`en9;T8Ey`Fd-p%$s%x$)` zWGdMA-UH@jK)V1|T4J5?pa?EX`^Yw4A<rd;+ws31)D@idNVyC&#i>-642|%ojVB&x zKC9~NBt20oeWX4f>XElcRAu#=Vd6+lV-*Lj-3v|$ae|qleUb-ki9E#Pf)E?m(JzDM z70=i9+|-;DvHXv*n=x`xcDB`d7ZiV$ESv;v1SZAYK<#;&-aJeeWx!14Q#shz_@*Bh ztxdArP+aL+#HJ^T!;(wdgb8j@7Rw7(BE54~Whdm?8k}p%EbZFyUpqgbRX_e8>}x;^ z$Q@+%HB4q-zdFyZKA_~x=NqYfRDgyVvH@Z!KIkszYiPquaCzf9oe&D!K-+Unh1S^~ zek)%QUmw|TjYy8UF}yn=qWEhO{n;VxbNc7tfy_m_Bab0<7)VaiE1o^zr#41oP48-6 z8DP2q;3l6R+1<L`#sALEhMNlb3T+++TtRnHojMo5pxeM+OuUYV>lJB~yJ}RIAT5P5 zBeCgOv$uE^Q@TPQN-V(rR$o6=zyjG6d*f(z5$!!&ugg~8wEzdAsT#HfJsNu>)LQ8X zv$MAxW&tW8ke41^r#a`h8WTbQ5qF9cyoaa&*a!qMKtuO1gtU)^<;O;nH4$MJkOd$a z(eh)2iUl+2y3UXVb_~DOlxZ*1pmkU0*?J&mSMcTT_hwyY@f9e=y&uQ`8s?5~oo@~b zonPlY*|AVC-`JPj*?U9L!8`ldb5d8+E$jf#poF!zKEiGgT;A7x#$JopSn=+y)7gf) zi9msJI7F_FK4qZRwM~gYR>FX|KLz56k4${{G7JhqT&49!_X%cQ<!p!KUIaFxS$PpZ z;oz#Zk&`Lm$7HnrtD-UHuCQ^r$lWQ?S^>Y=2QvGvKI?-XQqcLtf(GrC{pg)m0&HZW z{Vi$pOKx)%p8groLX`*(a*Yqbm?eQg`A+`_hs#opwr}{u;gSm6ga+GE;SetH=0;bW ztzGYO!6%kj-%|6>#N8JCP2^VZEW2`;j9<P$MPY4-@#i|G%O@yohFK7wy&5QNKvUM) zPYkmFlCZ%>N&>a2l?nuM`WE>tK(Ne<R+h2K2maeYNEUIy10LJU;?tbSiU(81XQZ+E zhg~CfUb>u6qNTMWZVAm6e76q>bVo0|In6XQ(LvOB5%zVY5{n)}duEj`OgKrj1MrS^ zC$P4>i?ZIsePst|fb#;%4G)m-LHiHhKY;!yAO#z^P2dMueeItQZ2r|?IbYgXVD?Z0 z)q5SA?wvX!*X=#}Dc!BM+F0|+FA3er_XWQsmh@P{2YU>bOaMJ7$(|^clP?C1i|+zH zHQe&!(5ZT6YVj|0rP!zaT~K{i<laA+Aiv%2A#Z~l;4l6MAa1OkFkXl)%eIV0!A<NV zHw!!qyY7TwXwc02QB<8<;Nfsb>k8q1LD_1KZ&sRqqZWA4`N<j4$*&(;<EYw5ripj< zDRFK<FhqeC1r^?tkfH+ETOPmFZY8-U2F`;$ivpxL(~5csH#XO0%c&Wz#t#t=^0q5l z!Rw=C6?<666J~`dbJ7b}p}{Bef)GMDDB^qsW`ctuqSeo@8t>*HrQ?O@gC|Y)B-`tN zZlG3O^<Ck=sNx^>%v0&AaRgkeJ5+{k>E{`ru)_%azf(m2<0pWy>>|U;yvILTR~{7P z9<4aH9zE0@hpoxx&}|rT_|t-_ES93BuQbeE^j>g$rMu-U2C~W~eWp|Nv^~V#P33?B z8~`}&3XW(13Hblw$5-|&koo`mHuZ8WAEp1c7{=8AsB-ZBm;`vWR;b&BIjJ#l3W9A| zl!Rf05HI|vhVPPn&0!)&;=dnp__xyz|Lx<QJ5=s%Lt8a7`7Gkjwk}AmnM^(TuybSM z=jZ&JYPQkvh45Ne{Pm{ewt}$vV)RgVgejFf=<>$|xc4jb26nPlImOB<p#u?<l<w~2 z+cTM0${PYGzNbI<pV=#piPoK%!Toc7>%>L2zaLvhQk}2#+pI`!e0@?iT4l00W#hnq zVA)Z-8~3#kaZ8DYc#}M+-$pfZKhe+G$VQ~8#NOtS-^M6>9)7&xK{(7yR(HO!o<BKq zIFjo-o6LpY?npZRev|xO9sH7~xOaVjIMx?OpcS24P3BO)I@kM~ab|Ox$}jI^3*NO~ zIqJ0%+_bwB*<sVAX4+ha_>kp-D42ABj`8>%c*Sbn{k^&8SAL*&I=r^&_ra~Qx$2XH z;B_632Gd=tElAygAH<W}4@to&c91uybT(*nH#|<cY~^^>Q(H-xu(v-5<4TLmTUcnO zX-9Rq;Z-1<_55!2k4LILbpNoLs9n0A=A`&5kG`Kdd@X0iM>Pz2GAr-KyT#~hYBWhJ zT2`tCSpu(%xUl7XO8M1(6NW<iCppGn_*TR*R;VZN!$r;kUz5=1k9knX<DY7`7cIBg zlXt^>*AlpYBW23+O<z*|aSBfW?rACBWfYTD$bWv5u-G@uZCn7Zx~b77nKBLd%0cGw zZfn-&dp{uX6GANK{DZF8d~2yiRXJ3@tp2^b;dU}G;LOFz{;SNgXKrF=c0iNc|0fTT zg3-fu=Yu`!2VU#*-G1M#?_U#T9CWVEA@eXN+A{tl;0-0$`gORiR)$s=<MHM`cB$ZG z6vpOz1K*Uarid*n<|X*>-fHr2R42Rs&~3D5@@WF&5TpNrdmw}R55Z(FEx&ae#iL`H zla%M#I1zi%&Gyk++(y$#Psedj*ZST<2k~UKqb_B|`=!B&`F5mI+%v^re)}YWrNhDt zcC1gK*3`m@Nxj@B123XCw0#yvmt8lSD8JB=BO?HZu3If-oD)4cUfgGt*|JmAygkvI z<+lg*naa4u^`Oka$#oNL9;1Rctm98fK6$-kbC^Xw2DAvci)oL8>YQ?cpMvOUNpvE= z%_QdWnwC|wG&rgx2QG`|GW2ejWpsH<m5*4#D^w?O|80*0;Y4By;&~~6!TopOt&nK9 zD)~FCzh;J0qTQ&8E+8`?<WdBIxI+RM{udvunhVpq>|^iU``7s-dF5T=BG<^`^2Cu` z-L?OIek{JY;&yU}G8P<^GRjZ)sN5^c4C|;uH6s2TcUoE2I~+1R<oNz=Lo94Ew}xGO zJO_P*XW$f{0;Odv{<?hFTmuVu*K_viRU%4AP%upw?W3KRmKNOb+&-2Hf{N^z6&4oG zcumV_ZD#g;$yqYsPmTOP-p>DazyI$aIP@!Q=#l+=J31d6(}O6=sy)enWb*1i017&+ ARsaA1 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py index e3d0690f8853..92c7f3f467d3 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py @@ -8,6 +8,8 @@ from mpl_toolkits.axes_grid1 import make_axes_locatable from mpl_toolkits.axes_grid1 import AxesGrid +from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes, mark_inset +from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar from matplotlib.colors import LogNorm @@ -72,6 +74,55 @@ def test_axesgrid_colorbar_log_smoketest(): grid.cbar_axes[0].colorbar(im) +@image_comparison( + baseline_images=['inset_locator'], style='default', extensions=['png'], + remove_text=True) +def test_inset_locator(): + def get_demo_image(): + from matplotlib.cbook import get_sample_data + import numpy as np + f = get_sample_data("axes_grid/bivariate_normal.npy", asfileobj=False) + z = np.load(f) + # z is a numpy array of 15x15 + return z, (-3, 4, -4, 3) + + fig, ax = plt.subplots(figsize=[5, 4]) + + # prepare the demo image + Z, extent = get_demo_image() + Z2 = np.zeros([150, 150], dtype="d") + ny, nx = Z.shape + Z2[30:30 + ny, 30:30 + nx] = Z + + # extent = [-3, 4, -4, 3] + ax.imshow(Z2, extent=extent, interpolation="nearest", + origin="lower") + + axins = zoomed_inset_axes(ax, 6, loc=1) # zoom = 6 + axins.imshow(Z2, extent=extent, interpolation="nearest", + origin="lower") + + # sub region of the original image + x1, x2, y1, y2 = -1.5, -0.9, -2.5, -1.9 + axins.set_xlim(x1, x2) + axins.set_ylim(y1, y2) + + plt.xticks(visible=False) + plt.yticks(visible=False) + + # draw a bbox of the region of the inset axes in the parent axes and + # connecting lines between the bbox and the inset axes area + mark_inset(ax, axins, loc1=2, loc2=4, fc="none", ec="0.5") + + asb = AnchoredSizeBar(ax.transData, + 0.5, + '0.5', + loc=8, + pad=0.1, borderpad=0.5, sep=5, + frameon=False) + ax.add_artist(asb) + + if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False)