From 650029f389e8277f50fd79f1751da4ae9580a2d9 Mon Sep 17 00:00:00 2001 From: Akihiko Kusanagi Date: Mon, 19 Nov 2018 15:21:23 +0800 Subject: [PATCH] Fix the issue that the topmost tick label and the bottom of the chart area are cut off with a radial scale --- src/scales/scale.radialLinear.js | 35 +++++++++++++----- .../fixtures/controller.radar/point-style.png | Bin 7070 -> 15089 bytes .../fill-radar-boundary-origin-spline.png | Bin 15638 -> 10472 bytes .../fill-radar-boundary-origin.png | Bin 12866 -> 9297 bytes test/specs/controller.doughnut.tests.js | 8 ++-- test/specs/controller.polarArea.tests.js | 16 ++++---- test/specs/controller.radar.tests.js | 18 ++++----- test/specs/scale.radialLinear.tests.js | 8 ++-- 8 files changed, 51 insertions(+), 34 deletions(-) diff --git a/src/scales/scale.radialLinear.js b/src/scales/scale.radialLinear.js index ffd76dd43f4..71e156e0f09 100644 --- a/src/scales/scale.radialLinear.js +++ b/src/scales/scale.radialLinear.js @@ -79,6 +79,16 @@ module.exports = function(Chart) { }; } + function getTickFontSize(scale) { + var opts = scale.options; + var tickOpts = opts.ticks; + + if (tickOpts.display && opts.display) { + return helpers.valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize); + } + return 0; + } + function measureLabelSize(ctx, fontSize, label) { if (helpers.isArray(label)) { return { @@ -145,6 +155,7 @@ module.exports = function(Chart) { */ var plFont = getPointLabelFontOptions(scale); + var paddingTop = getTickFontSize(scale) / 2; // Get maximum radius of the polygon. Either half the height (minus the text width) or half the width. // Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points @@ -194,6 +205,11 @@ module.exports = function(Chart) { } } + if (paddingTop && -paddingTop < furthestLimits.t) { + furthestLimits.t = -paddingTop; + furthestAngles.t = 0; + } + scale.setReductions(largestPossibleRadius, furthestLimits, furthestAngles); } @@ -201,9 +217,10 @@ module.exports = function(Chart) { * Helper function to fit a radial linear scale with no point labels */ function fit(scale) { - var largestPossibleRadius = Math.min(scale.height / 2, scale.width / 2); - scale.drawingArea = Math.round(largestPossibleRadius); - scale.setCenterPoint(0, 0, 0, 0); + var paddingTop = getTickFontSize(scale) / 2; + var largestPossibleRadius = Math.min((scale.height - paddingTop) / 2, scale.width / 2); + scale.drawingArea = Math.floor(largestPossibleRadius); + scale.setCenterPoint(0, 0, paddingTop, 0); } function getTextAlignForAngle(angle) { @@ -341,8 +358,8 @@ module.exports = function(Chart) { // Set the unconstrained dimension before label rotation me.width = me.maxWidth; me.height = me.maxHeight; - me.xCenter = Math.round(me.width / 2); - me.yCenter = Math.round(me.height / 2); + me.xCenter = Math.floor(me.width / 2); + me.yCenter = Math.floor(me.height / 2); var minSize = helpers.min([me.height, me.width]); var tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize); @@ -416,8 +433,8 @@ module.exports = function(Chart) { radiusReductionBottom = numberOrZero(radiusReductionBottom); me.drawingArea = Math.min( - Math.round(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2), - Math.round(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2)); + Math.floor(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2), + Math.floor(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2)); me.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom); }, setCenterPoint: function(leftMovement, rightMovement, topMovement, bottomMovement) { @@ -427,8 +444,8 @@ module.exports = function(Chart) { var maxTop = topMovement + me.drawingArea; var maxBottom = me.height - bottomMovement - me.drawingArea; - me.xCenter = Math.round(((maxLeft + maxRight) / 2) + me.left); - me.yCenter = Math.round(((maxTop + maxBottom) / 2) + me.top); + me.xCenter = Math.floor(((maxLeft + maxRight) / 2) + me.left); + me.yCenter = Math.floor(((maxTop + maxBottom) / 2) + me.top); }, getIndexAngle: function(index) { diff --git a/test/fixtures/controller.radar/point-style.png b/test/fixtures/controller.radar/point-style.png index 3f73ff96f91a02142de3504a59531b8f954d59d2..c5437ed24affbc9078ab004a6d0db2c5f7fdf5a0 100644 GIT binary patch literal 15089 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%0DJ=3Iv)NF#Pciave~c_$lC^ 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 IUKSGmKWDH5cK`qY literal 15638 zcmeHuWmjBH(Cy6N?(XjHPH+hloZu1&PH=(^?(PmDxVyVcfZ*;D+}+-J?)wk!TKC)i zG<(fD>zwN9?&@9DwZm1FWl<0b5di=IioBeZ8UO%5-<83EY6BNh_nDf(7=Q(CHdd>U$AL(6G&EnpbBNyGcFHgzV-XHFeWe6=@2JZ z51f=~RN9pDR;?>F@#-x*@#@mK*^c5$AE(eq?Dzx>piBS)TQAOYHhz+S0&WqnbBTzE za8;M9Ht<|Lc3wO@pSZuG!rtb?t3t2f0*mZqmEn{z^5DUkfNW@Ne_k0drZ^E(E^0QV zI0ASQ7$HtXC6166ovacHc?w$m5Fniw4FS_bW5tri@T#CZXE5dT5CnWT+n>!>ho%Qk z3y5QUH-mtN+Uuif22c{oj$A`t)w{9F?!Yd|sR^7~(ipc%6Fehkge+N-Lhe?;QQM zoi}Pk(qVhwc;ngJfG|`@Dcj8ZYLz6J?<0$@d1bkg z9YR7l(Cq8YJgw1%o6in__U$rs6$j9|TLevxR|=c_!u6WIj@q6LG=nluBwxm7kAV%J z)mYyU;7WUD?P{OX2(Y1NrU9VzR?Q`o`Rb8+HUnYNJV$kF?iF1BT_j_WOZ9*$m;zMy zXU;SOFvX$nlngx(5{khAcwpJsP&1L%## z7ZX^}dJ|2oRh`VZ=XQ4Ahs3|C^2h_ZmdP)=dvb2!v-3g`v?^Su4~|jeiV4|4&)rA10XhH^*5LF zIWJLzhQ%9d6Q8?}zf8@!j62bhE~+EivOb2HsdmP|fQU0BfW-`JEz*9+Q8JeYKCT`J z?3;J1CCP(U-MytV@<9`B*Qq%t%v94CahR(2{|gqGA*vnp`O*FzN5CJ4zn8ft;S=YG zRUD2^{GZwm2D_avhqem~qlj^*0rhGYGGO0C^JS$TQz|UWt177EQ>)SN zV*3PpZ0XsXmIC#4pUPQ|leAaCy@%ymeDfg-Pnc0{8IRSUrPQ<1^P}^Do_T*MB1{Pv z(wo$;Pi=9S;)9EM-+>4CG0~jHyqekux|L6MH}~lxTqN5{Cb@MP$0=^iLYUdk*;h(< zywcewmU=C_5$MhWd#t`_n~EioMWSB|pz~DG_N-NcTG}@hef_bJn^8BeCoZxs#`rn4 zf=wA&C$Xsmg%WEsodwEk$$!8=Q5^`d=JKT1$wzv=;iN;4k~S9q9QNv`vXuRGR>L_$ z<##6ZI2mAS>}u$b2?oJnFo|O9_~P0ch@4dscg^s$J2%O)BbLD~(DP_GQ0|}06?wy! zs?PD~fPM$f6Qc={{1vwBI2^yoybEsjX|emucQVchu0M)Uh_f&n8sAl-^C0kN0FKNR zk@?2L|8Nj_I}FSWTu@XoA{-NNa{bt;Mr{`&JiGl}Pb$EUP8qgh`!{ZtAO-&*r=O!v zddb`VW@fsOVkc&`Y>E15UyOM_D~n8lH0WHmJ+|EsKE1?R9)#zVYeZHm1Wr z>uYFLv$Awxu3FNOH`eu?+(kW@DEejO?L3o3;N@UzzjZ8L$0&Yl#DKVE$~3_A8(P(* z&IiTlhR|e9o2@_RXnnToB-UVaK+i*oB#{5hRtTP?BrHN*6%t=xLmi=`U}|cX+chV) z&q##vp^(s_P_dxi2W@{eB?&F{_8Xvyio*;2-nYqLhK zovOF+PgV;iu|{Vo2lhedd9YU%GT-eq$8zoKv3Wqrrq#JtyS`w6Lll8%=f z`Qcz|CQcXoc4S+fX-HIM5_sn@e`?`SNb)csEDaYllHNxlj+sJ36p z0mvb;Ak2JfM0*>_`B*ESvP(WmHG1)8+5|Bno_=RE9G?mbMjwg@q z6yX(ca-&{=CpeiaK9`4>@!Ae3aideFRr~Hd^7DDNxS8kYRJWVjDwn{EIQ6gRr;s%~ zIx7yk1D_4!!s{2KWxs+C8Ncy?GrDFd=B3zMYv#EHXh-DXHUjn_fQFapI>&4&ThsDSFJ{QfKt2xaFJnNR@p1NNB@ub?khe_&9Io~8$hfSBZ>2260v%+&8 zja2mc5Q=5!uAKo0^-!oU$a*|kYo>16W(K4V7@dg^U?pUcS z4(i5VwHok~$b%sP>F`9pMq$-n5mYjqy!q07^?o4d7qs^{yU&HGLwJB_+Ru!>7$Ct6 zYboSYPmow@`*>#HaF(&;?dHrxg1Dnx^EdNnI<=iFU|`Oj&rPhXC~<1An9c3aX%4}3 zq*~-?tt$n)TIGp@$Pf)@6#wjgCd;9?`3U|am7n{b6O$dxxv{)0w9AkEWjE+cOhdx` zo>B`GzD|b~*Q3kA_@5or)=jNGqIpDKLGwT2dnnZnvbkss!hyDe%~rk_nO@^Y6lDlW zuy#jB7I~HMTQRAd{niAp%;wB|d(I0;_UFV1>GGN=3IW#SUE>0y4$} zbRYMl<4qMx6?0l#Z>$m%`h)Yc(W2P4Odt;gwlfVTBcp``o{k%#3)^aUTVEd9#xK}Q zEGV3y1S&roo8EVuH~+WpC9=3#Ev{q?3RWMi&5k*_^wki+x&Dhtk=FO>=I+~jxnFdD zu}iz|IzT$vuaWlJ?AFaVD7dC01dmi=!cNOU3$3{NB<=Ab^@u@qhuyBW+Ofnvc zp(b*G*sFQzyLcra(dT2e`{N$9lIn4RkxwrUxxhcKN*hpaHsLh1=Hf2a6suYh{D49(oVoW%M5ze4G0quLr)3b>frQqlKm7tn21Ka54nkqO|^5 z2!zdPSpJkTl9^&F!u2QX29?-+#w5h@)M9gjE#LLf!DR0*fRQm@b?X2_zrD7LgFwE} zz0bxXDFg=a_9iqwM%q<_c7OMEqUE5@)5kz*%6F&bCd$rWCR@CBRQ2`8W z8U=Zjq|AO?7S-&}Rp+c!;cfcrW~{50u*QSSF{CWAlO=mmH}x%)?kS3TuniyC*#3>B z7#=t#VN+QRbGKjH!huSxJ~lr;yzN`0=VbZsb)movkt@5sSU{&xnKWzX!1=vyB~PYL z)`>zptuC4gBv^uBUi`JJhQH6dQ%a>}==KUPiE?bWd4ba%ns1n8c9jZK!yHxrx&+%G41C<)1d9KlM8;g(t=#mp zv7}1$C=oF6`gMisF1Vh=hYua9srX5|2gm1?j4W3Ji%6u2MjYN3X|qkuVR^+LP!{pD zIHB!3NE^);@90jWW^k9IdS{(Wj5z7y{+SCwd#|+H&$`3#?O&lm9inlsug--|z?nF} z3qT(c%vbBs=X!TJU&NjjFJzLP9@WW)X``d6+Uk_TG+b}%yRa}6cV|)GguAiSj+pszi=%YH6$*z8FO6UAa`SL#HK(<&n z1^eJymQxOPBL}ZD>ntm7qWPW$=3f>$4z7U{jJc@~njf7Qij}aHh@}Gk_pd>giWZ-n zJQhw-3i;K~&+jw?=`b>SsZ>#AqQd&##6)j@B3C9WSIjM)kVsVQBZ$j)i6!)3tRWpX zX=a3_J2s1mimkDP57qgLPfR+_Y~X}tWX0PS@-{wprcd}QZkvqN^r?%T5abT*YD@FG zNY=Q{8Ev3_cma+vDOyS3#ogd*68$`!n0H5X#u>Oo`Bvgl?-&J@_ykND7N;AfCr9|W z%l?e)%#auVux4*GLbgmA7j^4!=0&pf##LEUYxl`+(r(5NfUIVxU4XvlYlOqK|7cy) zd-zr!9S**lOP+_jM6E>cJYT2zi4HyCtwdz_A{pX?(6wg*T&-2^27$BfN9igr&?HJZ zwASDOf!_v3FR0~J$@@m4@(jCt^BVfn)w^>X`R3ed3n9yx|4Nq5EqVMPG16U!3QNcu z6=Zq?TTqpM6(SXM7A+%WaAd2b{N*k!NMVIo=iTLz*m9yHLJigae+c@#1j@=@N_biWP&kADTn989!N3ZqNO za-JRGQm#z+Jg`*~L@MtU&V3nA)W&kCF$2h`N3@e&h?2}JQlw8zo4xLg2U;2{e&bkx zaG0go_hCg~{q^0)E>=6V*^$0456hdP%jZcL?*cp?9xFRHJ@EY7hm2e*2QS7a#cw#Q zyf(ORm*w^!)7Q}Aal#P=10*f~!hH%KeSeLx=PRP2DyltU`4vtmjuD;x{cX9Y2IkRF z*YhMnn#v4GNy+3b>aD7;+S>Z#1r>VDeo%Zl_e~rxJT{3*#t@|!?L)|V6Se^fxHc8w zir4?t$kyGI$#*lPCMX9Dw^rIyV=DymYE_7XA zl^_b>uuV7UiwVi9q@VXh*`Ipej$Kgw$SJe?1Sqrx+LLtbcisPMtjq5UNJX_zfp(S; zP?aROuWJ2f`SF_;!$B6*Yf?qdvtI0UNFZzcy)T|QxEVUo5i67pDkXqW@UIoouJ5De zd{QL~d=Hu!hkqv>k5-{=SL^S7?ABJJM4Ec9%b|ezW*uI$D#D1(4s1g98wp)KIG*P( z^(dA>`78J?rV81yl@(h2v)4l<4C?|3SLch~1*S@Gf(nm} z*gTVLl3+qocMr|5%;Q*z4)#^hYjVa@D^Ra#=%` zu~WZIkxd~>rSUTx3^S~&g-#6m$8A4#R$QmCMi?ME`Rk=vEicXEm6&K3m&2b-MgIXy z=Ar!)xUvXpYPd(WZ_FFUbLz5^6e^5or!j+G*70A;+g925Q=9aghm&qoL+N;Gj5Qv?yWLX<7O|}TcUfr1~lD~I(EW1&H+w*((1|E$_H`m9Dg=1DIv^GHf`@xeW zWGb~4d2NMxpRijhd#7uhN*l^+t!6Nn-{Ompp~)4Oc$fRm`wrhOnP`X9R&0nsIw#oF z!-rxXM?E#vI)rWp7FVp&B9eXhf@ajr7HiI+@)S!cj((PB}0Zx&d>)CW}xeIH#M0~{8}+{(T%x-=-2#s zK$X)QUiQ#G*fyJ}SHm-SfY!0ATSFIB)^-b9>mcm!pO6xWIG>lf$6vLD0zKBtKH%sMBg>pI9{7_cUw zspcfJIB149PD4=|_pT9!MJ?z{6mPSe{X@F#rvP;b%``u4 zV(rzxbLhuhtX=(esU!`Q%y;ZAjG^cg!c{6gJItog{=9x7Lc=x(P1?r%tDx$9USaP` z{wa&t>nvk~b8~nTB^d9@baPHpJvK^A*l=c?4eM&zbXJJS9$G_rv}y9G#>V&;t=Hwx zL71)UsFvLdn=eWQIo5RENGqU{V|Xb?J3i1q-IdzgttXZ2ZaTr~V`?g^Zd0yRmmFzr zNLO z(KN0wGrX)wDD~s?>oN*$?92nnrS=jTy=Z&M0PYV?!>+0(VmoO-xo&{r)2#NryiDnL z_VYcpSSo?;##5gB6@`)}5!nxqp1(L1V{7y2qsuRp@flizuoyE%40n_NYNUCIO0}d#mko(X@FU;fr)xt=byhAeOOQeLbeBE49Jvz5RV%CJ}sTcA0a)g zdr@u;j27N2=iWiisud9ad;8b_xbf9toC|>USxD^lH8fKqQ&L*poF=u6c=YK^sTM?z z$lWfIeT@i*KeHyYp!wV;tl%>XRw>~sIKF3wT^pS#M1-i*0?n@Tp9T+& zCX1P-nmh2t;rDd)*E|dwpK^`+2D0}u)Svsen_AFYp}EYS+MI9Ruj#QbPzC;8RlS5b zsQNK=jLAn!_g4*nQ&KuLh`;KSHo$w2PXCMH&s=pL!*Usps#~p~E?DReW#_~iOe+Iw zauZ9Ap!pfR5v)W5&ShW?@pWsm-;(QB`54tPbtErms3Pu%2$jR?3>cz`R9U&x+~XBR zE@Sw5aF&Yd3a5HT4vhDuYLMZ&;sTlQhkfV!%jWeCDWy0f{*{t#!L|OppVxwR#Fl-i zGZxYU`kbj4t`6!wdIgxlvWg0W;u9PBs*0V;tX4OKTK7)V6O%s|BndcPLI)3QV$LNTLWLsgW665)6M{eH5|C>v6k5<0_SCcXy#0NsVg)PMfB7FH>yE4Q&*3o zNo7{)>T$`}9qlkRx1wD544F>f#|v6GhGrC5T6sY2HKw&iUN^?-0o>dN)w+k}qkZ96lyj+j(W+Q8(9SQ&q-t%@Gfs)+5K)5nTp< ziCz%;0qRcu{#8x}w;|EjL)B&F_R+fIv+99j5=_>Zc=*Dz)jf3-pOthdEM(Ai@g+2p z!xWSE;;-6|mBk95A*G7T{txP!_mz`3wk|Q^qiBx>5O(hB3?$|7`bMwNEPZO=JU;n8 zS{K8feHFBr`nl3Jyn=xD;~$%#<(=_NJ970m%(oo$xzUM+u=hdwpG;kAZkMHBg79GD zN>)qTqYw((#vNKkAytO1C^n*(zaNh>>=7ieyagQ7oeC+xS79Zt5<=xRr25vA^(Q@!PY0!Jh-y5tdiFukqp_n%0ZINGQRD=eCjO0;RO z?{A9^F##tCOR4w@#D)6y^P%BnW;S)f;ElyVphb5gGulaf&Y7Uzo#TL{?aQrHZV((< zx}uxt(+#Uq_2`KI2J_Esq<=08b`1rD-&hX!!y+DLy~lbT!-SLZe{|8hdx>PL zgt(u^g10$U@~5x@7QX<>kJj`CiU#T1$_a}}p7yA8(%9!s6vc(#bZW?6wjD+qe-|ly z--~RxLUb%(CejA}!NixsEviucx901X!L`4zJRqdrarN*XgLO<&LLj_MS-)ZfU6#2>Rf+s1hJA+t!zwD4*gz9`6=xY9a@V4d)8k)sU2M=W3mT-q%;# zdp2l?9&Z;WU4C1xAbY@k-i8YXS%oy&lIp=1B~f9X1|@rcd*4W_g0e>D=%43XK95^M_M?D}AZ{ zA+VU_SyaowIfYB6wGOwbq6&ngr|Q&bH;A6G(da?yUtfsV{{);R6p*VOWV3Z~5nn`C zdp}|Ieo|q~i`Ce6+Go>?Nkfd)PopsmMC;(?e0ogQlZGltvY`SiuYv@#Oj_(DFkZYg z_bMc*%6);>-0Pt_m!ixJwHeH7wHJ$;QGNfXOcx7`vs-1;f$k^jei+i(_$g!v-l&6F z6!h0shmamOdy6T(OuC#d9YNVXYcZ>|Rv4F+)a}N>tr{zz0HYHR?GvnSu-=joMPCVj zh$#obz1g;mn3|I*N}T4fhsfJ=`C!RD!dCfX**wZazXCAAMRuat@9mbimmZ^&*%|;K z{`+4qfFmSbNUh%FqepmNU1TJ|%jCK~C}H|mGw39wzc}o779H$LF^v?L#=lkszm~#o zn}VH{f}F8QYKl_~fDQcNQkr0}2nPAVV`cqT>mleHN0;oyf*8&nH>IftH5BrGik( z9_oOShF32q~|q7QLw16 zOmLFpYaU5`p|(&%weAvXRz%{@p7=M~K5~}QVHmilQDpBKGffQhb}ajP8Gx=Zwz~G( z7gZKOe4D&ig3yhPWr+I5oC2%AMLQ|CG>O&b(;1U)5VKsmx6UOYhB8tdX04KZs)(_o zQ$W5kz>Kqh+7g_9q?9*KW?I&aLJwvLGp5ZMN?+`by%-ljD{&Pp``TTI0R9a!>p4|J zs*TP4Xc4P6438W2N48b2_P;8OQ5N{;!szOTttj>;{BrwZZJP z{Wq=pu+D)d7#C{DIK%`T{7ExbxX~p~Mu>o4oolIR5Bej=UY&iYzb5!_yQRKtXA&5i z!HQ<0hy^C|y}m9__^@|{oj6VV0jb+Qi*KYi%VG9YzaAY|N{-2>Vynur*>yR?3C7{@-mI5!!kCxC*nBfznEj)W(N#n{BuoZn#1$7N7g#%9{!Aa2%uNjOc^N47U*gg>2kNx1ORhZqr zuIZj>xb@l3y*1Zr_&tueH9^oWmVdP?Cl?mV_lO4q$A9+}?rf=H@MG%Ma8CFo7K5jF z21<*+ekK&uEyww)+&M3m=QOsUX7O{g!Di<@e4~NMZg&<{os<9HpFy9=uPYjAsqu)g zHWUt=k)HLXJ&E1PZ|ydtDW_>p$+uTipOE3{*P^}ag)xo7!E-;xUEK-BdyRPm?b?VD zoG!=v;&X=1oH2kQ-l(5hQOpEUojDQp6ng9^HSQg6dMM_(9vKrq=^mxf016lU#*EvW zZ`Wc3hHu}Gs=m9={VBF98d&>oDSB2nzhYneT%o}phqs|NqQh*uF{UshD3YOGr2m0q zwA__8=8?Tp7Hq`1~+4f364F)X--nQ%^Rj z)|L7&-AHx0RTk4ObMR+Y2lQt)SJqn7CpI0}J{RDO;4r>F*0P4f(0Psl8CegsWGF_( zh8cAPW*nYF_g4AGHPLVj?uj0Lwov37W2o4a5p0f;fT~?cF%80&bjOlp9pK~>5KB*@ zsvdQ5GAaG&!0rTXXK(Bfea0;`&IKPS`1<8XJOi@f70VA@v*kC&CqxT!+-MMWnlvsY zRiyz8x zmwVsRgNY0)Xb_CeKye`j$XmjKKM%H!_RnbWtvy9oNn@Kg1xLFS&@*5xWd{UPmrezdtu zYaBzo^k26%Sks1R_OgYwpO4w3(~INcbGnE7Sb{S(GmO^;bB5<+M9^$%?C4iFp%fN| z%?2hzt7VlvJk_uR@)Qv=@@CM@iv-lVb|+A8pkvZ9JFwTJ>r7WSK8bfr+VEN*nBaK$ z&B$|m6w@F;W6)o(a;3$4?oPxa`yb5#AZgXxv{++vqqV;Y|CEW02c!Hr0Svtm;Pf|Mp;HO} z4ohIO^Pu03L8j9(rN?(>zG&Y^6iBfrLbUS^L#PG9rev|iv3c{Pao0^spQd-jobkXR z>T-q9JMP(14O2H?q) zI?-(xvZJ>Im>mD@Nolm2tr$Nrf8d$Iq^nVK{zD@>{KI3XdizMvX>5#%O1@{-!8(3b zB}ceWu@M_c++SOXoR%S>KaW_F@J#m0T^&BAo#UyEegDR^)p}}>$0t$%o?_>;Kq@Et zTeyMvWU`U_wF5f-Uml0p=OU6?&GO!_&(o6YAp9ffoL1sM#lileN7}*s6_l^8<*#ERV?fP=5^oyk27M zCIue%7br!_1Wf?M)bM`o18DRN{feh)cy&&h?CJJxZPr|Co!q%^bX?N-5fnHGGC z=PhBp_=ehcZowFPEeAN4(v0!LYjYh@RJv`@!}6fiJh zj9+VTLRop^oI+&GPC%iIFw03hb@wzjeLO0ZXh#pQ6lltir9XLr@>?TTg*sLST}KFz zg1*2lRj6Nv(0fT?g-J(kw&cn^>HYoimzBUc;%gkR2kMTKNcXeNuyh5;5|z11UpoSs zswleXa{|{lr>q}?@gwB&$a?fO1N!MKVOi4HQM6yU(-BSo)|ei&FxVkws>g)Um?^B; zORB_1tb&;x_k2X6E7O=O#Q}S9)&|xNoq=6iqFkm$pE}wxn`}u%S7A<1*=WT$>L`qS zFkqBsoRW&#G#@&)GfULctw?^OtxIWRaczs;f=@t*NUO2`{vL`v!{ zWx24fBt#2JX*}?5jmW3Z=9vs;Wc)YXR2d>Dk}AP5a90Z@1f%UmYOg(km8{;1O(J;m?sqjh z1#NTY_T?yne(yW6w%^715U*NHnO$_|1n4=m)?8GStuhPc*54LmiR!^nwzNlVp#;!a zDCn6UM2VQoJGVZQ&>9ZM97Qf^mh+LVgXYWK{o=@J2p5bm{dL;W; z$?_=e-(~)*_&@7Q*Y254T?OAM7Tg7T*!I+%jgwb6_wam{fVq74l5@E4Iq$)(0 zQ{d4XhE2cxN5?I0o(y1IOFQGLIj2rz^&U5i*et#_q1qSDUWp+7>#}=Sz~N5^ckGq0-5Lyje%v3e_4gVy`eLxF)cV8&-Zzc+F%n`s1O4ODmdY z=ZCOYDer~26@tfef~_}^MvX3l_+6CP*WHUD6koje>OVniBE_q___c4u-F2OYoYLFT zoiS8nlncVQCS<&S=FBllT!hW_Y8VL4XhWnGPO4Z`qGI)t?$aja87XDPbjU$!P z>qS&xnUGg4c?$D%zc=*P0e%a`T3*QA!y9~e;aBDUMxTK#W#VBjKAc!c4-#sWfx}3; zq95b=*%-FFq82BrspVFVQ_wolOIqwLk>8spD&{M3#*jai^%D*~LD8=|C0R)MEOX{8 z^}93}eXnQzvY+i0b7>qX?Q@n`Q|}ikwo)#a$ccEvzV8=qS^drA3+Z3W?=#_nmJ91T zBmdMIDYZVa+bc-7?->%MoGc}ATl}>5NEu6~{9qFGG6a`~7#IG*z;8H$-=dE>x4g^! zZMyqPW%O2Vb2CH+N6H0|PHiI4LHX_%@Rj+ydrlG;GzNXoJ? zG|1+~iEZguHlOgrk_h^*R|HW#Gh4qyp`K5FqEeHLTbgXuF?zHwah%}tu}EoaEA?T-$Dz zGXlFYy#n5mNN#LUBCXMISP#IKn>NtA3NN;dApQ`uH{`T7k{AYmpV^u%7}nOs+0Fyqab?uI12$sEZ@h-a|%D;Es=kMRM7zexD3c9 zb~j$>NP8SlP;$JiL>%2VE8k3)c|9iqJ-}7_p*H+#Yiqlsuf#;diQTWXb@_QdaHhtz z9s_XoviJwDBrIn~p1RtHY?F;h>lnHQM|^aP4C67%FLraia!5FBNOg-F6?X1Bl1dj( z&?F7dFWhp<$rTx7wchD;c>y6Vd80-tbiSouSchT{ynO~dZTg2|&^g*n4Qa;c3sgvcaJV~hTwXc{~lbYI_yb)vO%013ySnSr+ z-M_E+2NsXs7aozCYJSIsE+{2;LZ+s*+HNPJ$`J=fl6Gdx0!n@Bxbvhc%Uo09?*|8VrC$%xH}6|x`TsxEcn%`eh% zwPHF@-fB^clxKhve*0vwSE^p{M+$(_2 zL%Nw{^5i;TU24R2xi;l(o8F*vt1|%Bb&uuHd&PcDSPQnZL&g={9j@KEn|%IPJo$ea zwd_$(x*PkyXW#%ZzK#R(CqUMgGX(S?mDixMbbG#u zXR7Mh9z7rMbi_qm4&vGxXRNbRCEcL()-vIr&_*(Ebqp|W3fMfBO(N?ZwX4AN*N6)C z3nTk?5ToGyE5N9f5u{>p|88@*Pj!Ko=hvn9Qn~^rt+vbUEfjGo;K+rIDe*e^)f<-? z0e~lk9BbLc{F-kwql<3_knP#XWnr?e3=n4HRX+{e_c#n z9z7ovth(l73E7W~8UL1YGe{9>w#4LX-ZUHYsjdk5wsi?(5R)IE3JIg;!v8hR^E*m1 zFO_9~qL!1#*x^JIebs(s`cq}M0ct`L|GP(K<9f&T*tf+E8`*}GI#a6f*LGYb-CtLT zR8(^oMS8Y_z77poX$h9yQR1rN3E-sxR*b1oLaiF#5EzpmKyFEG1&ZTZpc!&xMJ+-E z4nn(!S}x{GUwDl1kSd@-ED!oU_J{Jq20zMcRzd*Ej|7G-6&dqJ4BN~MsJWhvrOq50 zeZKn-Q8b~s;|h2i+%aNFA61q*52-76~N zp|IT?*QdsneTSOHHt8NSkw*~UO}`hc$pv;ewbA&0dWU=eu3e}Jwtjzi3Znd$F~A^q z?s(2XH;&hX4u$Hc?@A_EDu*C$CjE-pk_%-{_r@RUQ^ohA#r7-fe6}y6N!_=Z@E0OH zvYG@Bo;OxUknhzRj`{eY5;caOeGcqi**6}2BQjstEEgNo;)I8^ z;Wg)W#MBfA*}+qRPNlb0(<}X-(QW=x{wM7*oE=60IxL&VD7M`|VEu-yGEpY`8*)s&sOpj9cmH7djGTJ;fgT{fCwNJ-pPuBxGd1DymV($bT31t1-3&~bB=EL z@hFcR^6_Mdx2?Kul;7;2tHeHm;H!nJQ9-oJzEEYTPqWqbp*-Kz8~^;|lQDcBZ!dQA zDJUju-NCZ-e<)I=ESBt)o^A6{01#67663Q2tUYEseS-FgI$t`h;g$>ldYmhc1|e-X zWq3kt4poY)ci$U&BKVy@po99GOShx$_=e7vA-wqc!V1H#C}ut1<~t&PLf%%&uOhDT{K_Z6ct z9}tbPRQ>nqAXSfuuALae10VGb{xasA_Y%G0q{Rqc%^b$yQD`-VnJ!3eyvI`STtOwJ ziWmDAv?_`<&)gMMNPkZv4>yG{Oh-R}^Ru6yDO5#2K+i9bq|*aFgH!l)nV7g#nD~nL zv=o_glIc;UTVUCK+)KbY3KLA6q`~Tp>7fBCi>Mffa-ISrV)M1XKF?dWiidGN@(@tf7QFSu zUGX*a^cUwO0AXH~LMw1Q+#Fi;C#ZzNe*1-$d>4wEuLnKX_ihsL-r(QB0?HLgpbL=L z)1S3(GKo-Q;i1C``YZuVA@;0AVz+eYo@yup+{zk%c_6d|tC+L_kL}7> z8Gzj42GtXX+ny(Zi*JF_G}!=P6oUjmsbh}06B-;4w7@p!*&bY-4`f-k$w zssg6QsPubu#E85!#)LbHH2Q-L2^A>TjB{TI3FM#;a%nszGmkuBMDc5(VAC{k^n&1_ zaC^;gr>F|8SM3(?X~3`yucjy1*Ah#pzh!SQ3oTxV`OT*k7Lx*D@6b381vAFVuz-3&I zq&O*N-3V16wb~=**9DwrfAtIdMaU$V1Y-d>rUi7Ap;6OBq1UYQ(i%>1|C4wIChM_^ zf}zc00L6RhZ@eDl4KGDf|NTFIPX)dMy+rIGj<5m`yXK z-Zg*=2cUKy%@wNI4GKlx`0Jwo%#dp^M8s)O8i*)~F^vm(c4bG&s{sBVA_TUn!Qq5Z z=CMEopbdkW_c9pMI1uPkh{}j8Ev^RE^->zVTDLq zT>C$mELg&h4YY#@PxDwd8u%i>RS?By9+Ru82|Z{9qEr>v>#%ab1{zR6p!RWIpDJ_% zL_!K~@|fMA2enB+VAb5G;C%S+kq|5Gu8KOpK)d{Zga6-nxaR|o2Ax%yZxaYnJ_7*q M(#ld*62<}l1Et}jfdBvi diff --git a/test/fixtures/plugin.filler/fill-radar-boundary-origin.png b/test/fixtures/plugin.filler/fill-radar-boundary-origin.png index 2c07f7f0b2c2bd996ed549ee512779905de26883..66c6e563a796d1c50039329dafff1e339a841f53 100644 GIT binary patch literal 9297 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 diff --git a/test/specs/controller.doughnut.tests.js b/test/specs/controller.doughnut.tests.js index b1969e2817a..2f9602bda73 100644 --- a/test/specs/controller.doughnut.tests.js +++ b/test/specs/controller.doughnut.tests.js @@ -195,10 +195,10 @@ describe('Chart.controllers.doughnut', function() { {c: Math.PI / 8, s: Math.PI, e: Math.PI + Math.PI / 8}, {c: 3 * Math.PI / 8, s: Math.PI + Math.PI / 8, e: Math.PI + Math.PI / 2} ].forEach(function(expected, i) { - expect(meta.data[i]._model.x).toBeCloseToPixel(510); - expect(meta.data[i]._model.y).toBeCloseToPixel(510); - expect(meta.data[i]._model.outerRadius).toBeCloseToPixel(509); - expect(meta.data[i]._model.innerRadius).toBeCloseToPixel(381); + expect(meta.data[i]._model.x).toBeCloseToPixel(511); + expect(meta.data[i]._model.y).toBeCloseToPixel(511); + expect(meta.data[i]._model.outerRadius).toBeCloseToPixel(510); + expect(meta.data[i]._model.innerRadius).toBeCloseToPixel(382); expect(meta.data[i]._model.circumference).toBeCloseTo(expected.c, 8); expect(meta.data[i]._model.startAngle).toBeCloseTo(expected.s, 8); expect(meta.data[i]._model.endAngle).toBeCloseTo(expected.e, 8); diff --git a/test/specs/controller.polarArea.tests.js b/test/specs/controller.polarArea.tests.js index b706f8376a6..1023bf0789b 100644 --- a/test/specs/controller.polarArea.tests.js +++ b/test/specs/controller.polarArea.tests.js @@ -99,13 +99,13 @@ describe('Chart.controllers.polarArea', function() { expect(meta.data.length).toBe(4); [ - {o: 179, s: -0.5 * Math.PI, e: 0}, - {o: 243, s: 0, e: 0.5 * Math.PI}, + {o: 177, s: -0.5 * Math.PI, e: 0}, + {o: 240, s: 0, e: 0.5 * Math.PI}, {o: 51, s: 0.5 * Math.PI, e: Math.PI}, {o: 0, s: Math.PI, e: 1.5 * Math.PI} ].forEach(function(expected, i) { expect(meta.data[i]._model.x).toBeCloseToPixel(256); - expect(meta.data[i]._model.y).toBeCloseToPixel(256); + expect(meta.data[i]._model.y).toBeCloseToPixel(259); expect(meta.data[i]._model.innerRadius).toBeCloseToPixel(0); expect(meta.data[i]._model.outerRadius).toBeCloseToPixel(expected.o); expect(meta.data[i]._model.startAngle).toBe(expected.s); @@ -141,9 +141,9 @@ describe('Chart.controllers.polarArea', function() { chart.update(); expect(meta.data[0]._model.x).toBeCloseToPixel(256); - expect(meta.data[0]._model.y).toBeCloseToPixel(256); + expect(meta.data[0]._model.y).toBeCloseToPixel(259); expect(meta.data[0]._model.innerRadius).toBeCloseToPixel(0); - expect(meta.data[0]._model.outerRadius).toBeCloseToPixel(179); + expect(meta.data[0]._model.outerRadius).toBeCloseToPixel(177); expect(meta.data[0]._model).toEqual(jasmine.objectContaining({ startAngle: -0.5 * Math.PI, endAngle: 0, @@ -183,13 +183,13 @@ describe('Chart.controllers.polarArea', function() { expect(meta.data.length).toBe(4); [ - {o: 179, s: 0, e: 0.5 * Math.PI}, - {o: 243, s: 0.5 * Math.PI, e: Math.PI}, + {o: 177, s: 0, e: 0.5 * Math.PI}, + {o: 240, s: 0.5 * Math.PI, e: Math.PI}, {o: 51, s: Math.PI, e: 1.5 * Math.PI}, {o: 0, s: 1.5 * Math.PI, e: 2.0 * Math.PI} ].forEach(function(expected, i) { expect(meta.data[i]._model.x).toBeCloseToPixel(256); - expect(meta.data[i]._model.y).toBeCloseToPixel(256); + expect(meta.data[i]._model.y).toBeCloseToPixel(259); expect(meta.data[i]._model.innerRadius).toBeCloseToPixel(0); expect(meta.data[i]._model.outerRadius).toBeCloseToPixel(expected.o); expect(meta.data[i]._model.startAngle).toBe(expected.s); diff --git a/test/specs/controller.radar.tests.js b/test/specs/controller.radar.tests.js index 7e85e9e7eac..b71a2e47398 100644 --- a/test/specs/controller.radar.tests.js +++ b/test/specs/controller.radar.tests.js @@ -154,10 +154,10 @@ describe('Chart.controllers.radar', function() { meta.controller.update(); [ - {x: 256, y: 117, cppx: 246, cppy: 117, cpnx: 272, cpny: 117}, - {x: 464, y: 256, cppx: 464, cppy: 248, cpnx: 464, cpny: 262}, - {x: 256, y: 256, cppx: 276.9, cppy: 256, cpnx: 250.4, cpny: 256}, - {x: 200, y: 256, cppx: 200, cppy: 259, cpnx: 200, cpny: 245}, + {x: 256, y: 116, cppx: 246, cppy: 116, cpnx: 273, cpny: 116}, + {x: 466, y: 256, cppx: 466, cppy: 248, cpnx: 466, cpny: 262}, + {x: 256, y: 256, cppx: 277, cppy: 256, cpnx: 250.4, cpny: 256}, + {x: 200, y: 256, cppx: 200, cppy: 260, cpnx: 200, cpny: 246}, ].forEach(function(expected, i) { expect(meta.data[i]._model.x).toBeCloseToPixel(expected.x); expect(meta.data[i]._model.y).toBeCloseToPixel(expected.y); @@ -211,8 +211,8 @@ describe('Chart.controllers.radar', function() { // Since tension is now 0, we don't care about the control points [ - {x: 256, y: 117}, - {x: 464, y: 256}, + {x: 256, y: 116}, + {x: 466, y: 256}, {x: 256, y: 256}, {x: 200, y: 256}, ].forEach(function(expected, i) { @@ -270,11 +270,11 @@ describe('Chart.controllers.radar', function() { })); expect(meta.data[0]._model.x).toBeCloseToPixel(256); - expect(meta.data[0]._model.y).toBeCloseToPixel(117); + expect(meta.data[0]._model.y).toBeCloseToPixel(116); expect(meta.data[0]._model.controlPointPreviousX).toBeCloseToPixel(241); - expect(meta.data[0]._model.controlPointPreviousY).toBeCloseToPixel(117); + expect(meta.data[0]._model.controlPointPreviousY).toBeCloseToPixel(116); expect(meta.data[0]._model.controlPointNextX).toBeCloseToPixel(281); - expect(meta.data[0]._model.controlPointNextY).toBeCloseToPixel(117); + expect(meta.data[0]._model.controlPointNextY).toBeCloseToPixel(116); expect(meta.data[0]._model).toEqual(jasmine.objectContaining({ radius: 2.2, backgroundColor: 'rgb(0, 1, 3)', diff --git a/test/specs/scale.radialLinear.tests.js b/test/specs/scale.radialLinear.tests.js index 5390ef77d5f..da19f9e000d 100644 --- a/test/specs/scale.radialLinear.tests.js +++ b/test/specs/scale.radialLinear.tests.js @@ -349,9 +349,9 @@ describe('Test the radial linear scale', function() { } }); - expect(chart.scale.drawingArea).toBe(233); + expect(chart.scale.drawingArea).toBe(232); expect(chart.scale.xCenter).toBe(256); - expect(chart.scale.yCenter).toBe(280); + expect(chart.scale.yCenter).toBe(279); }); it('should correctly get the label for a given data index', function() { @@ -397,7 +397,7 @@ describe('Test the radial linear scale', function() { }); expect(chart.scale.getDistanceFromCenterForValue(chart.scale.min)).toBe(0); - expect(chart.scale.getDistanceFromCenterForValue(chart.scale.max)).toBe(233); + expect(chart.scale.getDistanceFromCenterForValue(chart.scale.max)).toBe(232); expect(chart.scale.getPointPositionForValue(1, 5)).toEqual({ x: 270, y: 275, @@ -406,7 +406,7 @@ describe('Test the radial linear scale', function() { chart.scale.options.ticks.reverse = true; chart.update(); - expect(chart.scale.getDistanceFromCenterForValue(chart.scale.min)).toBe(233); + expect(chart.scale.getDistanceFromCenterForValue(chart.scale.min)).toBe(232); expect(chart.scale.getDistanceFromCenterForValue(chart.scale.max)).toBe(0); });