From 4034b8523f9c09ca362b2e23fd1b687aa279ca07 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Mon, 23 Apr 2018 16:47:42 -0700 Subject: [PATCH] Backport PR #10792: Fixed not being able to set vertical/horizontal alignments in polar graphs --- lib/matplotlib/projections/polar.py | 4 +-- .../test_axes/polar_alignment.png | Bin 0 -> 55357 bytes lib/matplotlib/tests/test_axes.py | 32 ++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/polar_alignment.png diff --git a/lib/matplotlib/projections/polar.py b/lib/matplotlib/projections/polar.py index 0ee03bc30785..62fc0f9ac60d 100644 --- a/lib/matplotlib/projections/polar.py +++ b/lib/matplotlib/projections/polar.py @@ -635,8 +635,8 @@ def update_position(self, loc): text_angle = user_angle if self.label1On: if full: - ha = 'left' - va = 'bottom' + ha = self.label1.get_ha() + va = self.label1.get_va() else: ha, va = self._determine_anchor(mode, angle, direction > 0) self.label1.set_ha(ha) diff --git a/lib/matplotlib/tests/baseline_images/test_axes/polar_alignment.png b/lib/matplotlib/tests/baseline_images/test_axes/polar_alignment.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f745275e85ac031b9ade4c972e79dd6dda8810 GIT binary patch literal 55357 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�ujpSxZqg`f7phlztn3D1T!m6!DA(VSbK$5UduZ7L;Zr!CK|f)55Q!k917w z@=+U3o>?l9aP?1nGa8R|y@zgzbFRmDPxonOj$E`;@tDgtQd4v_GI|d0)Q!0YH_&7G zX1ay{c|0z`2%O~xm6=gt_dOI}YKqZDvFGM-K6?NINhOC|aZ5$<#T^jaW{SBK8;0jk z)q3Ik|8TiIKMGPfo15Vw8(}<<+zyiE>t8_^?p@uqz2ya`nX~4#sX{b%g2>jle?r2- zdQPnAq!n{{Kw+9%$`;d~fV~em!1AO9C*68`5eiQPkG+fK1FJ6@1<|YDEm{;IaZxK zGVhpcu{l!HD5fo+q%u4K3wwgeB*y_t3}dos;j43^<6V`F2C4LUG_|01p0&No!71xH z9P3l;Ym?IVKsejcEW4^!DDhkh?y8CUnL7F|g)pGQGo6?m}f#x!P z`7ZaYl(B~&qVMp&y*h0Txdjg)2XeMl(NU`TPtl*eVnwy;nk{LoE*Sl4Ckwb}OiKln zd%J3kIyqbT5?UV3+ts%*Fkx)Sl2edq3lFS-5ej53;mnh~aBJ&jkn3{0MS z6%(wE8^$@Q?wf-ont(h6^VV1EFs1f=Q{xRXn%e2PJ znG3=C=&=#t?kE1ac?q6I%*A7r%e=JRUqJd^SU5dD`+9fRC5@guA=+<>XPVxq zKjia;)d{z!9mD!FV99b%)4P{mf7U)^uQJHyn97hx^=!!?P`8ocxIDIb;+U}ve-8lA z`F*X+8lkq6dOJ`O6gx^H$`l9elX&=g}d?>zLe3 zf&jl3L+S%b3kGF@m^wj5CE_G=u>?Cg^?GBv2I)tPPFJ*Zzn)QHFbo)f#~#y@YDbjC1Y%Jwccb$U+N6SLO)+&az- znMTc;6*T<&%>QWtnw@O>xFw*hq&q;RE&!h}oM;idmHq!Ya%7@p#c*XKebtWSSGiDM z8VqbakOeD}YS_GP-6COzNCGM)reEwdlHU$yw*BRU_N%^XApgi&Ja@FrOM`lxzQrRi zuIGji=fbimw2>DJiEHrZ3vuN$zfaK*9MHsE&*1-P*g7HKdi4)z;!$6N?`1+_;&^la z@#)zGj{&hn%8K!my^@`qru!U&W&q+Lfp&rYZcwkW>tqto$Iknd6H77z4-03SGzwWu zaA)qfm{#o_lM3Ds%gxiiByvD0M?i<#kfJ*t=wlmYT4S%FoTJPT0Mx_ zZ|LgI577j7eDiGBsDCdy-v!3Wbr?FlQ$@*i+s~=DObgC=L4?l@VcrU+HX z;jazAgtw=5-|#@Bs4m-Ej2bg0kehIasfOtda2hzho143g&atS6l|1H*rzvYnt zfwfX>ORiEn*w4b}gBpg~V$(DImc7>msB%euO%*jWZC6*EW`MlOUu*CbZ2f(AU8np3 zJr~LF-6^ZSxyatrStk^G1P0Y7boyklJY(6hI=BwQejT&9VV68MZ1J{9DD6=xT<;&0 zejXwKDeqdqCY&G!xdfMi2PLiBvT#WJHWeS*G>IS*zL^~^j3g3n(YXhVk+g+`_osDF zJ=eFi-0jogqy+8}QqP~=o@CNe*N*N1kzu!wn$l1GAd1X}u9?D9OGsiBdu+DC-~A`x zTRY!1zTm004Yimi*+s1GkyW)r6zI?e3GtJ>JVQDiB zgBkQ!%|x`|p>EB02O(&Lu_?NyRC3AbVwYjF;XlR#88eAg6eyGkkaTw+FJonp*|Ws) z##D5?P&x;yYssCGSr@%pj@rjIgj^7n3=IW?zt8`Ge=f z-d@j2ty2cBdx(slm}_KPi*A#Eaiii1yOL?h`Hu}VmYcmWJv%9q-yvErsuYP9kq)bW zgWM-g9UC81qtfsp_g6_lX7|Pg>edFLA&`W6-^|Wm#_T_bf;sbmXT+#GKzzj-S+#Md z9zpxIp0floRqWv%LZ#0uhNX2+)kJ`kEmVi{A2hH-gAr|IWRW`+w z*OQMbdQ?6eJHGCl2b}3~uW_^xQbyI>a5=^TW`BHBg{3HF$J-L9;=>TI4rT zRrMXxp*7ZTH}eOg zZjY+&ANu{b-i@6A!wGkYq*q+Q0H510WD%n(jNSx=UMV|k{PAK{I}XP$9L~cQAG|MF zYXknJ_d_{~oykpCViwKkvhzfJb+n2~qSN@#ZEL6>lkNSkBy88g{SXO@ zg(ZM!H0(EJDR6uS`<^M!3r=_xcn`6pQL!Dd#8wOlpl1{-`FkA7ZF}JWQ7CYzyxbYM z@vRRx+y$CvNj4QpbyNz2>uAhG6q8V`9?iH2Bt@78?;B^%4A<4utB0g;f9#1varTM% z6O)}n(NnCWq}N4dh?+0Ix~s5h0NbMEUN>m>}9pMsWm^F8$CGR>PfE1~N- zXwYyHW{rDJ*Miw}d;_3pJ6v1I(Wjk;5g&$1W(keKo0^h2H`m#Kh5U`6ncdd`wK-!!O`lYn0_P_|= zPIc_mX`GkkeKcNOe{ZL15v=zVooFdmv;^OqU4kxG*IMvh$vTr&LR>(>A%DF}3SNbR zPPA_)-4|2qzOtHH0|kbXz$MMgAg;uK!6ueo)VJ!X4}Ucd5k}~tiL02@F=hG7Rv+32 zau9_}jP$(oJm#}49@to0OH}sLTH#_OzEf1U7ZUIJqHy5+gfqlz ztcQF=tc&!Q&vlXt08douH=f?Erx4_hmP>-193rana&n0HZ1JBL*N&at{+!Rp`KQ)5 zJah|-D-=yLY8q_u^)fVZ(QyRW)|sBz!(!+l>~1Dp?>m2{#Vur18qlxHnG8>a0hR)?sRAIIsjw4pmDYKQVkV&ABQL-?`Sk@t zkcfPAbGFN(N=V7*QfkOX2D%pXVavp{Ae^>r5Hb=+j5N?g;5os3!2q zxnhK-+-bRLyHDEy$xr82J0q6T&h~#3IR;K$cdt7;u|M4qT?_eqxMJs{v>$0ruLhqH zzy&SElTKN~o(h5r;?9KiaG#d-_5cL+_50cxIPlNh7S5E2!I8M@F=7sX)FWa8xDQbm zqEY6yq2%Dq+<`#Rm_3K4VI6-G|HWwpL0>B#7rkFKdFV@8fITRVQ=k8>p~IP0F37a- z_qT2Z)TLSkY8q44;x6)hH~*iU0Mj6L-HwW?Ja8R)YcRR#TgqCL*)ar~h8fg>_2Y(} z2f_X|T7E_(^e$ecl5dk&7F=#?YpYO*IR4V$p%GHFw;kwr??t8wem^P~#2O1ed$jm+ zjsgr|;P(BY3rL)mpaMD(cWt_vI%}?`JgTZx;AF|P!n(76l0kj79<;vymZcZLmdYxdr$63xMT=s>=nWw%s zJH{Q3p>D46pA|E`D0|v|*eqlz#&T#`vnGrsr|fL`CUYuCKzwt=T*ibC6d1qW95 zCH{E`oc{1_j+3w`*O!C|(;BN4KJD7LT&!*OJ3ZJx%TTX__PU@mbAq>@kKLaT96HXf zN$SM2o97&iZF4(mj+c?=+37Ej&fc3496h_+0jrjco91-%7}UVFZDaMIX??#`Cw47S zX|plzXU=Co%XXIS7WG|{JEvam&Z?htCsbzqy&yPpq(?KW{{3nK)LLcwZyY@8aG~U4 z^O+=QWUrH6YBK)B4dV&v!Ql}E zV2IBtF0PA(YQFyQCatxO@a7m~pa7ue=dK`*BL3{0sJ+k|gJA>gGVjDu0=b<1A<`rm zjXh+}!>JZ#6YVxrxw}XXV5+w1z!l%6N^dNWw!l&1> zx-CCf??2N`)#dix)!+A@Qr_54Y{KYSBUb0wq62}2lezYZYr0QA=R3n7V8-m(jnQub z|2ufMG#kx00U3zUzIxw|K3iYCn{Bls&MBj$nZBMwbCh0ln_HdajF9|EW6P{PTD4QP z<5H>eLCru2LL;rC+}=JtCKGGOquE@tnLA&%Yu8~5jm&zn`Xy(Si^Fcn-kAoZiGqk~ ztx}Q+=;HGODo;pMAGm2zZPKRf9Rx2ZN)g$#+PUwQfrHsutpN6Sj{6=H1yVJ-rJ`9T zDx>e>49(Y2TZi8Y*T;Go4IRg%QQmELJw7p`3GpJGErRZ!J$EjYCCP_w_^IgTSKA-#w+e}E*42O;njdW9&ad!kx zQ4gXawC7iyrwZZ07+WY0v_}2{(bZZ_VFJ* zx^ZnWbg@hAqwMUE^hU80k<7rABvtSa*G}qIw5EffA^2F2kTfTz{wOJYsiGTn()F__ zZo28}J4SV3lL{j#CEvNcvD3jh4{earjhIw6DB2*Veej4V29$+W6083Ytu@u~2o6J*Lo2{IoD5ma}%!!sZn+_YY3bHuKIQgjzEE zJi(*95I+4lshlS(CS)FM_bQPckF!-nC!k#!^<4u+%+6imPAwYkjd9*+(3sz8FXBP^ z(ELSS;INqn`&afd=SlOWsP#9LceZ~9!i|Kfm5z;!P2NCDQAPt+xOyHVx@AI*P_K=$ z%g3`bW5yq0!rwB{`hvGgU?^P zG{y!FD45d9JAZ9JAxI_LTBj^7XGfnD`w<5_I>@Yav1pp?*Rv7olh)em?i?8_!ypus zP6bg2)$%pG^{5jNha`B+LR8Ygz~TAxfazm6Z^MHO95}=I0G(vCcmASOycZf|%JC;- zX%8v37m*Vhv;5l7SDjFWv2tWuZ+Yiyw5#r9t5dl=k6Bv(J}USpm)FEUP02d&sZVS; z{Gtt(U=lq!jCCy{#|rg@x1ptu&0#r0&{J#LRT7fT!IpG)31>;%d*kuYt*vzicQSCe zCP)Hg*siuvFgH8jZ#NOV*n!Ay)OcjIjuG5--rjPmY*wKClS_6eY{8p2H z5_DL_k}sjh388gs=Py_QJUtix$rJY>74^HXZ4)$a<()l;NJCn3n9f~oFLTS-A3wS& zDXAlQL3WvYI?1#}MX6Qo&!|!Z+rsPJT&H^jU%M?>5QP(;-Eqj4f%I}tsQIbEf^mN{ z#wsk*+M+dCSYT;ZcjtNrWsx+;kz;t$zI9x)Q~n#tJ-%#3y*+$>e*e)14$YAOlhkNp z5jwKg*iu5ZJ2xJ9lhVbzxK*Aj4L-3Jp=A2P%gb0awtQ~$On%KiF9uswudw3FZM_)ox};MO`0$Sp)F8rhMRH))75vP#bxS?hR*u%U_`*E zX0e}lW#^}9WfX2buw6!j;LHR%n$tgo0G`c^1uYKebN>LdQ~~ zw?T7so$pG(t`YN6(vCL_43DOW7k4J*P=H^w!w3oVycoF(?#T7*;-uo-sw3zGj-wuO zOy98gbg-shCF{Q-wF8-JA(5j@=&x-jOxRwW+lMsjz`(%rij{f*8CR!gtY$UvR8;W= zay!prs#~HtK3%z8VOJ6oXT|PSdvJffM6^-b7C!!on$;_H^x;>pW%h#(0Wwriv&7g6 z_-cNxQ#HkKCb;ze(_hFg-SK4If!b7Bj{vPNqepY0+L5k;KvGJpo*r$C%_c+}Tt!&V z_P4JJ{Ng~lypWN7WXe$&tfM8RNZ6H}HP4Y}?|kV}!0~1uI{7t6;Ypjrzhk-_%KH7O z&(`oQ91Fy!3A=*_V!U_TWc;Ij$F(<9_{YY&tbcA3Z6M}c;I!7;-qtco#@ahjwdPBF z?Xe$wRGpH;K5#ZWqw`0_Do12S$rLlM_*LJv6mC?+>tbe&;HaO5wAvyl7bmp>ebR)1 z`x%u4PLSs3WTO|84G);)xay(Z)9G)P?7UWjXG4vxpL{GC@1SAND?j4VCm;T{)LLXB z1y2Vmi8mJts}1K?@tWFIiYv_h;m$q8WU%S?I4UaP9LuV{ zP8a(Po0Hko7Tw$|KHmCyQh#wUB~%%cOL*tj@|u2{m%$VXI!K(7J5Qz9@0|%@ud^zA zsSkm+$w}IEKXP`kL|wKY6(<@JFcOJ>qCe7L){%W*<-qV_Zr&dApY;9x+N##{U|KJ( z%Z*#M1OX~?7}*bs-lsa*O!y;;66sH{@@Q;3;we*OC82|hiOQ_;H?j>R3Xx-?CvA%@ zbI3IKg3T!?nkalfm98x{coc)(5a>XE;K0cglh(o_G9i`_mGOIrl~DT084%FbQGOS8 z3K`r*-dIAJx>j3c*^J29e(!bLxbDly$|o5z6q`a@%ayKd^2(~JK0hrVt?9G;^9wJZ zo&ws#zC^!a{A6&<8Ogu?5JVU?+>&OV<$&QK>8xpD^uV7!;$8nH$1o|ffVWH%|B=WCBIZwR(Y0H*pOquDnn-jAGyg(!}OEHVY^nNa_q=8;pA}pE*93#T$YZm~V`U zFJ+sxI>UBn5RLv)N-LGMqKZ{q!WX-9H?<4A@@P@!-`>pC>&XY!8q3i>%j=Nx)mD2gjw zmvv`M!ctgInOsc6KK_qW_R3GEw>w2c$p2^Plqu0%x7w~fnh)HO`Sif{w<5C(T2` zD~8~9<@@xz8#f5v7Dm1e*-r%R%1j(~rtkCNUeIaeavaB<*lX6EK~at0jHhvwf|$yT zaQT*OfKILxVzN&#myd7&_SLbOdF}ESc|RvsB$KbfGTM&l+XDn=gt4Xn<#U~cT!2uz zKibT1Gngyg<0;-A-QnkZon9<;I~N-Me_8-+37`@qFRxxTuw&wOvFvavguz9~GS6tO zZZ;d30ai(3w+RR8U=evAOa3$Ta;DjqcWiBI@p4b|@X+T*BYg?3ohY#OT*JKbH)<0H zW$nXW>CTR)Kf6JzMyY+Df1 zn4*gpE#t5^!D^WZh(oF0C3WB2;va;EGGCmkm>)Bz%PuKjh(dHH*M}o$mx04VZ*SZ2 zk0+dFmb^Gb9sRKO+M;jnY-9wHa zfVyG7C8L0%025~QKD;l+m!ldrP-~rltOHauOanmi_LpEuOs#NZWj17-pbX9c45BS+ zp);ftw2?>4^dZZZ^}gqomYa7HYaUR^+us9Tg{N=$AW6au_I>@D+3m`;OJG0tkIlHO zd5DaD$~J;Nt-V{;&BO52N3zIeDJ*RGGWGq(M;{ymi(mt(k(>98oXofvH|kISMO%d4 zqXEW~UGZH36+tm@$5~hvoh0_XFN0-=FMCf3+>RbS00k^j6l3J0PosS6N+uQ0O(E`8 z-U(|PdCrKg9$izJ`58C8OuB+qId6}f1*g=Pa@Ch3HFLBe(}rD^1ilyGq%s$ zZad-_se~Xs)b#e=Eq5*Q@fm{oir&h0$W=rN(f*KoQ< zT!PTj0h+J*Q^8QTA(3nGGt=L8W4aJm6lgyn-O!KRXAdhGA*#aC;trP=Uk zgTcvT|9*d_N&cFX+_u&Xmk6{Pl;5#gvt~S1eSQMVP@cSw)zWO^<>X7C=8)MB1gm$p zh|I-(*&LF|I(J@HpDH?9Op3APn$zuZh*Eh9q@VBHZrIn7xx`60o%UsWMABLyb1nFJ7U`{oVA?4=kBt>OI-8JO#71o84$u`s1lXNYAqQAgV3@k#g zF7ff{^TQ?8?r+vV=|vHKPjx5P4xfo`2Vp79+^*c*X(|BFcL=j$7Q4&_Yr~b$nfmv8 zyT69|peh+Vc1w9*i>(Bu(brDng@76wcgq=T&iV>KA6~AhJe&ZVhY!bltC=Zeo)tNf z@L>&ktNDw91Kq3J#|`AaUqC9!5tBjPXqTCfB(y)Y%dC0dyCc~kK0CSXt&uz!8B3z( z9-(Y={duCELo`!HpQ%1}O8$X4elTTpxu*S0W`zN~$dve7&jVEED(TkyR1{$YO$U%& zKc@Z0qw{0}14QcZWg8Cx;{e5JkgUoE2#d5)p38k9cr9b~Y?%^*x#!4~i`w*_NAeem zJ`3}Mj<^g*nO#p```R{^X7g7($A-jj0fP^jG-)Th+1Bt~($*>0KEJ$0(bwG~GT6`I(nFZ37+(*m>4dONa%|~VljgVFZ;V?j%yjH%4yx^a7DWE|;hXOq`1a}f z)8#7H;G9~bO_^47VWxzs@35;}1cD6GgbhAEy-|J%@Zhf^!{V#1;%Z z8%$Kip$p9Z%H%69ZIh+Kb`xWt=jGMG$;rw5Xla!3l6scxdc|WAF{g*70V^5PSOQm# z=eLnz2aIy6Z#sN!hF21FbP)ASc1qLFcbIf>D9!N~&McXc^`^(BMZSnVyQ*E=V$c{g z#{6)n=dTuz?Q>~P$)iSWLn7#kd-mWhUNT$0OEChA6HMriJ!d6Ll+Y+8~c>EE*U zEL2lrk|=@v!*t1}A10bI+bC*EIi}cmFSk z=m)>X$>3-Df@|pajxniKG#Cl`Zwjv;9S44S#IgFb1;=cad=vj){&8hhU(jgMEi@VpY>p-Ml=7c2($z z9-Een>k3fKHnWEVk%HQTu6GQ=QyxprJ-(<=v$X~^kth$Lnu>INL! zO|XO+4z$UoD80jNtLj12cSo#w4fdOjko+k^V5EMa^$w2oXep`VRO@(6lxVLK%CWxNAM91SGkt?5$7wnZS|gGQRUcpe^|mWkzp%#N`Vi=#PHgeMeU3d-5oNj~ zFgCXQI+qXlgC*Z}Y2n<0eIX8v=awKs046Sxfb>SrtvIO;C9tLWL=B+*Jo}uyRR{4< z?In0@Yieb6+0kUaSm&WC*3TmfiDoN*X0MCOl7%Fspjtmqvh%U)8_oT~uusxziWlck zowB0B{QZ-&qrKHG?m$oobSRO&&l>jIWJ-0F;04d{KgwFBWAgGtBFA{JI*Ivq>2}Dn z=7$I3SgyqJr>`Esyzp=x2qrP$7p=owFd!h#SkNok70?GX_DB!c0lYk%F;WdmwX^ok zf&I`u2<}Q9ll?NvCCHSN6N$@Xe#4T4zY@IMl&r@Lm-(cOo1&uvQl0a4@<7@mri;&M z-lxHs@nG?Hs8)=pUb?XIF$d8i+^EJB&<}=>Mg%0WL_p06fKe|WQxrIl9UBBu*d*J| zWeI@C@9L6Tdo)jJQ#x(EwTOR!2Y>32?5}c~aac-zFZhg;`{ed|tK852GiErQnCP=m zHLfFaAvkih2S1ImjMunkjp&U*(VMNec0Tw+f<5>?UFU`&{^#VRpfH*{^~ChXxbfbp zK9)pcA|)}wBwzcE%wx>2iHru2YDoOt(^gP7hBecd;Tc*zJ;ziprTVp>x>7NS+dxtc zP{0Lo*7T%!&+n;?ofPe;Ov6B77aFObgP$`5U}w==hZalegecda%W%j$5sbK=fsQwW zuJq<d&c`cI~6qKpv@Z!Y&rLVI_V{7)dr9zXJ9cZ zR$lp&Ga9U?kg<_lQ2}H5Kq%tWHB-M##-Tv$=bH{4!B20P4{+Ef>_d`IrmMrYL$a_R#On)Q6p-<@AOETW%@ZrPxD@$XZO*p^Iq|L!zEm*{I zIv|xu^P5Cn0b!(_UcYV9D9LD$L3R{lz>#s~Lv8Ij9G#mcGwVSNTYT(5NQAIR{Yii^ z5VLR6wL@}lLs~L5b>96Ezx(qC{!0&(3<7YYtOIc$V*`f{<4_8xH=J~4;oA0&3W0IJ zB#}@6K-x}_!I&qzS<+<%^Or^ZWieu3!&fWJbqf-tUj(GeEre_lcLat2f#C~Da4u)Cbi$EMXsCo6G36j@I7&bw*McHpC< zyobi9KZ*2ZA+q$9ejI)m2(gp7a^wBsab^wY+&=PC5NLuQncjXq$H`$ zbAE*KL8TI;#j%5%Bx%-`Y0!r1_fyu`iXw>u~>P*0wjy z0HCb{ZUTnNpdzYrXV#(wRj@T%FvofNu_moIwWgu^iw?#PbOHoT*CBdi+n}$L1Y{SO z7%Gc9!o;I;ng!u!c0+s(oQupHq9y2IfbS;-e{n|T;C(aXBfXc2UZ51rw+}_`axvbD zm^k3R-Uswvz|`9kUSXTrAz=uhX?qf}XL66_I~$Spq&d(pb)%^+MgS(KXHpeO-toow z_^f+~DKry_+Vx%aE44Ux*z|u~{ng(D|Bp~4$OZASI={HJPPQ9+LXGqNI@)#H zA-Z}-ZRkMx9*h;!)z=R=`BUSKN)vTG9W4Jc{F&Q@Sv4dQCC7ZBC0IQ&x)>d<_WK7) zeiuL+`CHR?%n6BOc63Ww%1JLTOSEcY$E7g0=+{hRk($b;f9R}Ap?^8Kp>XUyJ@?nvQRG9s6|JQLs?()e#qW2Zo zc6y^tkq|&bn~9-`y~p&!#xge$LDT)nWM=s>6uOt!y`gh5@0|wvrZ0YmTPEYbI$5v& zQhxQll&Mn>m$`sgF#fW>Tx!6_96R?O9S4{_KY#2`n>u)VCV>WAKAQfiOr;WJAL6` z?f6!0+RQPHn?{X747SV9B1#LxC3kHN95FdD4WVgVPA{tua~7LyHfT&iFDe?~+Vx=G zvrV-$28PU@vME^Y9vg(zk#*3{YTCWZ<055jPXlG;?b9_r`$!@V^q6a)<}uLp;K)HE z#5`Qbo9=Caq@L{S8#Ea4Z@ytiB=e>@3BJbwRZRZXPw4baQ(aF9!Zd({2R$&N4+P@SZnZMo6gs(D?(*wb&hzY=!^YrL0$^C#oJSJNlTsJFCKP8DvtD4jjWI`3R+2S4(c4(B z9tTUnVu1Qo4rA&sBJr-lzS|BlvtaEDn@4%y2)`ZoOKJkujugQjnz8Vvt!v3a6IJ$a zB<%mYPrq8d?=^h-Anv4%n>RP$Hwlcyz13VNyBzS=oeQfDpk7}d#|+gLeEH;K5$Qv| zy(bCz!jB&$v@uImOOv8mYY*Q-$}!AqQU~_%y4N{>Q~2)xgTie`m?QILaZMwY05Bp+ za0x88uzQ1nG(WvcbwNF$h!!q9 zR^Hc;jzuSGXIjLeAxWbaIX=)9K$>P81&|#=zk2+?0kN^I_&|3Ed{M1NC85tT1sT1b zt9c43H;$Qy-gZoSd9~ zR$+lUQu+P+eF(RA6&H6zGgM?a zW3Y9bDuy%f##|m}N%sK*CNaEv{OaLLy}ehys64bJ;vYxH0{9Cr!nyWpkxY@2Z|icy zw1e%4d}<*X2!uzURy>27N0i1p2P|)nB|!O8k?I8wpiFGb3%L&_on72e0wi!~m;&F) zJB*Dy&rJ-JG4@B*$2GO*uUX=Qml%g;^n5a^76_DWd-qm#Z*vmQt{rg)=#v;TNqX%O zyQu&2&-=<%?7O4d5}d$8GmTzFri26k2XUTIYE)9mTkjnysN>6O^Z8FSg^K+Cu_TJs z^7CM3@=bF;x_yyEAIIw~rvO{~h57aas@y10k?q%n(_U=#*@T_)2W>$^JQ{RUejs1wdNeE#9GT<~(V-f4LSJHdbjRr%;tD1}whJa*#Pql-l@C z{9ZT~gZSIfph&U@;sZDSCxDh3T6BNZB1dZ`+oW9h?6^LK>qy!PYMI5QMzePjc3@fi zdr7{j6FMu2`WJZ#=>Dg(@yb)sS>Pt#qmFX6kfD{{p!_oIsp^`Wj*6#vL=1{ zu)bVN9^c}#7YYV_UGs~>1~w=F+xXaD#c<;)98RK`;IUnSfl+mcHhO;-A|7sCQTvLpNn_abAn*Qq|{wsn2r6@oDc$B}$exgbeF z>M9u$?@KPXm-}13GO^}NwR;fb#jkHo=k8qU9JE&Z;z5^dgb%t zL`&BvH*Y$gWQ|4`I7AJwA35@lN29%S%Cv{uj>wqp8*=CwNYo7pOeER@FTk(kt4f=J zc2Gl#UyaXn_}+pa@n|oEV3NHk6KO_W{)EE)*~vUh8(g~^ckWbc)+}nK--xf?i0jZv zD2bTUB6P48ubSad#uh;%qYb7ZIa!Dy4V8#prs;BO6y}nd&>BefL_&A$niL2rw0%^a zGH?LX5qOZHSp8!odwQ3Tl=Bk_n2W{7lamrd$}7=h9SD_`ND!$U3)m%B&8@6NQY$l1 zIjpbXJc*w`BTOl53Q|EKg52h;<8mC{kzAWH@rOB+gVAKC6*qHvnqU`Z)T%vON|3KT zwn0~)FoG&&?M;TH{w*oH`OZ#Ls1mr?WLBkyhVx!@j2y?HtU~Vy$&eA%K8lKkNlJ$^ zUa#IVrfTP>{vKWR+Y64VZrU{5wESK*pKy^h|0_vWEYTcWs2Iaa~8ABlq6|~rGm1l4#Vf z?A5Cvn6NTF?hx=LrW4kiIrFvG%=akmd4!c10NqHN6*QPi@!vOvC!r*PldqBRaqT

V9UZ&_2} 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 Dsy&GN literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 77ec92b0123f..df6c6784da87 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -456,6 +456,38 @@ def test_polar_coord_annotations(): ax.set_ylim(-20, 20) +@image_comparison(baseline_images=['polar_alignment'], extensions=['png']) +def test_polar_alignment(): + ''' + Test that changing the vertical/horizontal alignment of a polar graph + works as expected ''' + ranges = [(0, 5), (0, 5)] + + angles = np.arange(0, 360, 90) + + levels = 5 + + fig = plt.figure() + + figureSize = [0.1, 0.1, 0.8, 0.8] + + horizontal = fig.add_axes(figureSize, polar=True, label='horizontal') + vertical = fig.add_axes(figureSize, polar=True, label='vertical') + + axes = [horizontal, vertical] + + horizontal.set_thetagrids(angles) + + vertical.patch.set_visible(False) + + for i in range(2): + grid = np.linspace(*ranges[i], num=levels) + gridValues = [0, 0.2, 0.4, 0.6, 0.8, 1] + axes[i].set_rgrids(gridValues, angle=angles[i], + horizontalalignment='left', + verticalalignment='top') + + @image_comparison(baseline_images=['fill_units'], extensions=['png'], savefig_kwarg={'dpi': 60}) def test_fill_units():