From 96431bba89f01be124c9fa3729889f18ec35cadd Mon Sep 17 00:00:00 2001 From: Antoine Roy-Gobeil Date: Tue, 25 Jun 2019 12:45:42 -0400 Subject: [PATCH 1/2] reset _numBoxes/_numViolins before calc --- src/plots/plots.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plots/plots.js b/src/plots/plots.js index 541c3333826..9210dde800a 100644 --- a/src/plots/plots.js +++ b/src/plots/plots.js @@ -2887,6 +2887,9 @@ plots.doCalcdata = function(gd, traces) { // Sort axis categories per value if specified var sorted = sortAxisCategoriesByValue(axList, gd); if(sorted.length) { + // how many box/violins plots do we have (in case they're grouped) + fullLayout._numBoxes = 0; + fullLayout._numViolins = 0; // If a sort operation was performed, run calc() again for(i = 0; i < sorted.length; i++) calci(sorted[i], true); for(i = 0; i < sorted.length; i++) calci(sorted[i], false); From cb6249a7f41fdd34ece1cc3e9a5e263184b58b37 Mon Sep 17 00:00:00 2001 From: Antoine Roy-Gobeil Date: Tue, 25 Jun 2019 12:47:23 -0400 Subject: [PATCH 2/2] add mock/baseline for boxes with categories sorted by value --- .../baselines/box_grouped_mean_descending.png | Bin 0 -> 23538 bytes .../mocks/box_grouped_mean_descending.json | 119 ++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 test/image/baselines/box_grouped_mean_descending.png create mode 100644 test/image/mocks/box_grouped_mean_descending.json diff --git a/test/image/baselines/box_grouped_mean_descending.png b/test/image/baselines/box_grouped_mean_descending.png new file mode 100644 index 0000000000000000000000000000000000000000..62d34272637d4ebe9b76a7a5737c4dadbabdb86f GIT binary patch literal 23538 zcmeHvc|4Wt*LUrSTCW@fP>cgDvkZ}L0oWP3?P@9eB}eDS3B%xZH(OG^tA6N-ZU=C+^z2r|6m zAiXVkb%J_3n(oXt$2%$5&k)UNe@%g+PXA`rp~)Yw#QvPYw(TeZudTWK zoKP1EO}G*n`R4Gim(pQ-cKo%7myGPBx25o|0&($C!+$r3K6YUx{cl_%S zG-lz~Y;K;(CZoW=}FN=RaHUA1nCJL4d>YpM&t9E%;w(1vl+c%OAR* z`;~_;6kLknPLl1ER3eX*=AJ6LXn%&Nva;J`{SVhqmsyqDU)Je#gN?8E#jzYmrEu;H zCWF45T3*%|9Z9Y!w~yfoPSlBcdfpN*wCjZ=Qlj(-9HyOTfW5=JAQc^Bjw?A z$&8`z$;H@$ofO|KQ1*8|?F#xcrtCu#!ehI}Lkrb(f&=_K&OBi&wr@9>wH&KwF`&dB zuwz5n-*ZUx{&9C@Zai5oU}uKg)aT=OQ*;&#gN%CkW+bnOYf-g*cCq($q8c@+~qj<({QqLL~iztLO>) zKK}KV<8+-8;DZdzEhlty`!MD`CC=%&uZO707e3pZL(RZw$s6mdli%yvXg9pObB#`|mv5|0 z@@QvjsXmFUiaj5_z<@2j(ewB`ZQs3{Y$#6OrL*S7cEc{GBwNN(Skm2HK6Awf36T1} zWq2;!&rl_wcHf|p$oMR%x|$+{uA$>LuJG2mb@vDf<2jxxG51kHJKsV@npCwTX!4Yr zm$A=$C-Hb*NyXZa2KIL`S;Pwg9xP#2`J;Po(HuHGc9$zbefUFo{?)Ignkf5&&(H+n z7q2@38s&8l-*s_96D}+t=o7+;kzwdDilMAI6+WvI?v<0 z`j{(0g;k>sjG41_^;(slw$g0{0j_>7H_x=8pJ8hZNCj@4nc5Q_8JZ4flU&BzCO#$w zBzR4i5bx9~36!S@n!UYV6G(Y3fiz7hm&D=>8Y1{yo5e@p#f=-ix^|K7vGec|QrhL? zu&OJ42WbK9NllDl8PJ&er!J9VIPM*J)d{Cyugt6I3Fq!JlHnG!^P8#sopTLgpLos@Rd(Dr_;MIfx;KOq3)~Dzc9d_7jC0m>dfleqEd_Aho0Oe4<|4fjV-RITh0d$fqMie)SVl5ATngcj>l?foEB(?^@p}76S!v#?pLiv<5vpDQ)D*i!us4C9hb6tH8rV0qNOm zE9((F$Bnv_GhG~3Z0QO9Rk0+RsvmpAp2CZ0Y98$b96L?sHuZSJDYd}c%F`#3hf{iy zcAS(sUiigs54HzQ!T!PzW?mM6VB)HBWP4sJOQf1wulucs7x;J`#Vy`u^Zke%?8?pc znd43KlX;b0VQMlNxEtrUJt!m9)qcS(Ex;uMfWPD0_w4Oh8Zjsj2OjqTT zYWw)w(M%;lO8oWABSqF$CS&iUsovr&)p&{O*4zG72Fd4Xn&QMYIWIj?pX|zUC3uXI zbsCkrSUL2WHpPf!>KA5~y3gc-#~B;g+$dg|pG@z}(j{Lva(d5MIuc_O_l+V%Sj;qq z9(|PujM>U`D&icma5h;4b&s8daqBU+?s)#F)Mflx!0wgtyXXyAp2Sp1(A!--%mEi?wSD7A5R&9BmRE=pbkFrh8y6Uu0!J zVlBS}TQ%2UywUdl)?t#w?Z&H30OF@RPl-=e7_-%>4lwMA;S zk%(~)H2w6#)QgN@U%9RW&fA{u*`m~t2`bM+L(=K%yPB7c^dsb~*fR!2H!g2(tj{lf z2_-icQo9=~Z1t?$*w4tmd_IEUv)Ipmg3Yz#vZ^Q*uKPGw{9!sF@G*^46BgoVjA+Q* zV-p-j0x4#jq*dF|;o)I2Qg4xMdz7G=u;0cSu_c1ffDzron}^qc52>538c&tD5o2PL z@MB|*GH<+Iiqm(xWYqr)<;Z*6+FLXMT=)?J#9Ic&9;sH5!A}p&{PVvUNgp)tHN2RTewZ8qj) z@P{ju6siRSQNHvio7#2gd6Xhf9AM@;iEBq=W&?|@+S4S~=h_2$M;oK*<2w6wiF{-B z)&6AQ?#uk$?N2K1_uVMEMuzJ~PaRgcb$#q(5_un`J^uT7hk}|oAvec8SR?K>a+D(j zWVnT|bS96G^uM?6-!6d46L(V2(&005?bNPr@5wbPW0V;bsi&4%8A~RTT^|{rQJ|Gh zd2^p>h5_4jzu`j!-y!CplY>2h`t<5entkhJ80VB{a7wJfCp%z1;hUl<-;Gezx)1m; zNwxABl@>7a>8C)9+NtJiWQfKv-J8RmF@!AHF(+aoE;V@SW; z(^cg9M|O(h5z0J|>L_tD8$xQ5M(QOwZr{NmrUfeeh**F}F`09vhhU8OrcJ`pnMvFC zRPa?zY)~&fYHZ|lDDjr@t~w5ZS0NNZ_>J_hXe?9c^PJ4d)Xhr>V^JWw)?DDCsM7-P z(O&bJ58gehXoIE-70x!~k9W$Ps~oka<(`!_zSLWE{zo;v6XHOT_+igHwq&7W!mUYO_{e+>49ZffG&t@aEbc3O#ty zDXiTtMPgI1grHI=*^k*&%LHXV|I|yDB1OV@SmJzp1B=;7$GmsE@J8?E21+B~n*#6- zMd0rZ!Ih8bzljn+nNrbVYde~wUsB-3HF=KR+lJcYg`e{7<2`A!Ec%8J)=b0j;Ys_; z+f%Dyn6_~)-bG)*cH3g@ETzuOvMFc3@|;aM{mPE1E1J_`I=-Co14@|_BjK;A(G5CI zy@|cr?FNEimCSudMpm)C=Zop{mfO7woDM&vhQAs<*Qj%r8okS}YN`GQDrlF9cU`#M z9_Py7;?hsk<|ykmWl{ry@Pb>y;K&&04{)N$v&+WmaS63f=y~RIukIik+ zd%RvnW6CV`UifbB&7jB&Od`iC)R^1>9y^gMnM?b~)i&F>|gBo?2-n z=U=jI!g+owmD8V>&Dh*|Yx8;&p7led%>Fpv)yJHvnz>;g*kXR|{%idT$~PlpwGWRK zPkcS-YUny?DSK>RY%*=YEv0$2@0KBCxZKLKe)G*7YJQPM5lyqc=Avn!p^8Np@WoUQ70Q1;gPUj65YO>`j^=itn+expF; zk)ONpb{_>^Fh>X{imzcr6KEPzJR>jNX7wSyEVg|-fEN zjYXloIME+_>&#GS4DG}P;`~#J_faUEXqxLWc<-k`G~s}d#TdlR%kWrjJ}2qC9m^yo z9afrK0M{LGk4VYL>;}FR;BNHf#%|zGT*^1`T==Au^?r1) z86w9>p6Y?ulyPvHCFrrWyf@zA+!v?&OTWK8TC^&MFZq+bv%E344h^m^D+w)kE3}vr8 zsZ6BFdvTZ?LoczqI3qwWM(ZLCPF!M%7!bf!cC0VKXQ9Ws@3o_8n9q7NWuDpF2b8FS z5}7rUf=cwMbLF1%Z7n-yQZ9zgO_$ANI*&F>OgvAnnT^0k-cm0#liClTW@s;bBl%Nl z2uO&h#1Ar@{#s?z+^QONQVv4C$s-ZSuJ|ajW=C6S6BhUlij-AigegPVq8z+BwRJOm z*H<7NO7OD?5sLakP0yuz0&fY4-$4nN>kf^Bqqy$AIe-*4FvCoZ)O!*xW9mzDV!caJ zgH1&a@+(}h_1FKqLEd7GD05u1)eo9-iO*!$G@osDsWIqFIBAKj}D5MO(sF{XW&qZj?Q?>m}=5c+BH}Jhs$YGoa+*F(Qq= z$0q4lto3Xkt{9u)Ly-GtzfxB-qQtgK)erwWFDZlT4o^8Ji^fn(#iVh7`%>h+Jycck&5%w&R+^UBPHV zUnWz&3KC`+nM7yQZdOfJ6WIUD`8LzP67hx}vv3oTU7pZ~M#&>23p>Sz0!W6e9EY2m zV2BI`Ar*t0TzIRnRuf}n8Vdl5{_et%X(RwE9|!&|{;~yO4^GrsQa_CoR&t-$-R>A^ zL^UVM>N84eP$l-kPN_j#E+0Y7gTjWHe)nV#K}xB{cU6WS4mY(j0?hRo)u4pXjK+AZ!7c;M&!|6}^uXJrTb%e{*Ai|ukC(F57jMxVmjMoxspo*C`?S`5M!vas9HGyF2Z2)&!Rj-2S$g?v*te(Buvx4($p7oX zO$##DySp0?KBkj2SSxbv-9r*1@YP}sxADW^k zFf>3`SVHD$^X%G6`SZJ4g{5T`Svsp3Ey@B3BnuwJGGVYJEC1mSQvg{q_RTh)VSkBp z|MB&`{%Z$Qhm<5Dva9-q)~S$gF(s`H-ez;@HgYFZ!_vyGIrPKHl=%8k!QZQq-k3k5 zzTnY{)4cnHvz<*mcBz%{@X3l(5l>%xQ|vPH^&^s#>*r-Rgpx-*iEWUuJBmrGva(#lA!Tu)MARD3ph zlI#-Sx)uY*wrO#cb&O1QvNn5%nYkh|?au{PF_4W;<7b=Y^_;bm;LDuDJS?*7FD15k z&QGK!hsx+fwp0YMjfwd-w|3@}Mm-b$@uG{h!hi=4_Pvf*&AnXD_E=9y`&n;}M$kQt z_%B<)rKjNXiUrQ4?f7SD(#r>Em%%SJ-@>XD*I63#+c)-wp`j- z{6^Ou4XbdizGW04M#|uVcha_a9}N+{wsppVvtrbp?rVH>>*pbdZR*Bf$bn;HJy78@ zSSGBTC}Xs~y4Zb>fp=~qD{msg!0r*{Tff!b0e`0AXmTq4t5elw!rzvMiVB9! zx^7n4TvkWrk+G^IL$UIF5^GHqnn3sPz!4r?-A>GoitDXM<|n(=Ah>8i+8*$Q1~TP# zz%3#U#3~}op&vhf%zd`Wvw~EkT2lN8pTTKt_boVZ=d^_c>N!dJPlBp!aEk5RaN;gM zzkTu;P85CZ)}2f2tvFGhIk6BWV&QWL6sXX&%fRa-tJ9h)qwFc(?b;I#sF`OuDj0si z&HbMr{4d{!o4Ppn)rF~*mC3yM8NW?~(Rg=^$t$z^-2gZRajEUT5g}ll3&Fz*z};m7!Hw-;ql~>kYcOJkgXJM-4f3Qg+ly5=V{zv>8ir7b zJxwET3y|j?ngB;43lNj%mtfInr>^$xgGZ0Ee-Dg=hkNVN)6kg2%s~f!H0E}c%Wy2L zt=POFqI7d(RlCe>>IiNz-ks1&Er5TTp5XaGRB|LAa>VYdlBB?Y*ctbsy1Sms!;!92 zh27Q=Kqor0B1amdlfQqd&r*uy4-&X~pX#0?EhJKfpAK)KlJf`wEH51>NQpnpE_7B4 zML=VAoHTp8tNh0Y-ctf5y%0O0Zo$B8dHv&4IW3t7vCrVZoqO)nf1X%am29;SJ{EU} z!v3(TL#R^h|>G_GhLeuwxZRX#usm13m1}_Uid|P^b zK2s;-ReMFR@avPa8x~DZN{hmHbe>pyl@|N{k#ZY4y8DB>sUE!dv($yN0Alt3c^;H|Zg&O6u>La6M<6@iMS zX9yL^5h8Zv+O2Cex};hjU7hu6l>nhcYk-LO+a&!`D*RxR*zBVv;@!q6sp|(~t5zEa zfW&a&m6)P0UJvRygcDV^eM_ZR1^=hJazlH-dp1}n*D%9)<40um>i206B}5Si^LrD%MuG>vfZUtVZB`V+swyVCdTOre1}rBr3UAnInrdZ zKA{Oj${9;?4A$Z6^~YL;F)o+Gh92dXyj>DiGyv$QCl{sa2*xoK=rlJ8YzZH8yXrYuv_YRD zxv}^6HyPQty)+<@q}|*%!UuUw;eiGm829#Pp+KdxKVJ(IRrs1D^OLN2aZ?b|N0`}HTNx!>Ms8ncI|Vl9|!l@ZF-v};@^5D zMsYGJ_NU_s@}S-_KPPaGt~bZbn9vxuteQAxN-RBA@xlJ2So;c(Jaa$^Drz#zDRz)* z{Tuu2^@c$gZ7;Vl+YtAq94S9pwWVlv)k+_S)oY%inq@@UM}2-UdRimV^_d<`Qex+~ut=%jW*WbG+5a(~u!YAORXg{uc zv&tY&J;XP@DmFRD>~jXiSypVia`ZEVjj5%T)mmSfzu#DL_U>MUbBGbO&&|}%N_)jR zeNhgQB$P%}F+vJjoFIohhy0F=n;dceB~Rn~M`ym`icMGm*1oVSn>wx7@GN!*Lgw_c z{o_YR6WDy04rA{bq$x+65VCahx+G`t^iqTCNXiUl+J9s1a9U#0%SOg(?EO{^qTMY{ zj(UX3tX$7AEYSc)Hlnef+PMT0zfwn+uAe2FAV>yj>c!_SQ{a=rgiNrAB{lGuDFY31 z`OQ5Bq~hm8swSW4&NHUNLg+Z?9o!HM$0;~DA47p}<{sx}2Fny{P6`FfjE~!1OHbk< zRm`<1@fZ|k+X406@6^C&{pm##Qqq9}r4|zR)Hp{t_Q2+!#C7NUpNt=Z*!6~Tc&wWe zFRm|^7Jm;3#Zc3{JU`JH4n^pme9Nsear0D6ez|*}kIP=H=6MA{ehEGxOY2dJ{Q`!!Y(1S8M&b=RF31b z8e>J(cI@2sFuGQ-o;jIS+Vi^Kmj`UJ7$|y`HY&1gPPJN=VMJR&Cm zb&nRfbV%Ik>-JF_nMX~-<}yXE!C@g4VA7Bn{dLQq8Rv{hV}n3tHiQy+KpO3bZ!-@$ z9egx*ju;&1vl##k)jyfKC?u3Wh8t|4L`EK$S5iML;y!Ii!zN>>aBCN3sfa*?(98}g z>ke-1=jurg-1HBcytdIEI(-7Wm*w_-@R1CZ|FC&SXz{BtDdJa6P-9yj<>0AOOPF*u zegAZS8B@^=WY|DvJ%u`01*rw$9T7Fa*D$p%%S4|vr{ND|Z1)^%D7mf)=h8y8S4PV; zRQ#U~EI1jJDi%q%Y>fB!a{%0qN0oWBc_Q2;WFR__C2Q!ZeOQcIoHzO-2|cCA_-78f z(UYF&n+aNp@n*@HT{7Qok$Mi4zXCY+A6uLL^pay((5J+)>xaF|YAlCV;gEofY5c7U zWt%*Y2MP1-f)N?EE9O%5cmWyRjLq)L%i38si_1)weQKuDVT0C7Weyjz>GXS-Yq5#UDZclo0mCLmeu)Egkl4J zRnR$&ESSqUf3ajj%ZpEZlsbH-M|=6UZhOcqzjC48^TqHhB^s$|*Rwyo4tsdeZh3Z$IFn{r z)|g)D^hN==6NT;xh;p0D=VF6QGWlRCVqVjCKyGFYUr4i2Zg4M*1fVnuAyAev_Z z*bGwO1726!YvII?XQjP%Wqe{Q>ggf9o1fiFDt64jd35VViYD`I4w~cgjs|I{c#NOc zh^S;bi=J+!*t?eQBPR^=wMG(8)9`D>?qo7A)yhzk9KRo}kt~#Ad~N26;RyW`;V&HH zvNkDlwW%wNv@9#k%k9FdH|#{>vrl8@a_7ESXAFyFbRE!Rxz`K=2gH94-52PBLMjxe zC7!?Y_FMa|7=2O-ym@-Kup;;8BHOHmsa~cErP{gi_JG+^UY+cZK+7NW#=k5^N7ODew!o<{Zv|p31A$F<7ho@oF*FrCQczSw6Zl zHja!y9eV-lT~RTsGK3iJ=ov3v+~T*~>Cv&w`W~~?c_j*buGBb}*%nr;j-o6-rZw%M z0$lk_#i|`ixNE-fdh0Xd^BRbKdnICqi)3*iYI@Hn1Nf$rmd(rv!Bkzw z){$!@8I>XKWYp)g&cx2N%7<_o9DmZiY@3FffuEqRxxflH*GZm#I z%49#Pnp9v|h}wa~ygGXc___5Z)?ccy%j~>v;8aKObBuXAM*DThD=~ z^yU#4d(^ibVwH~O-=-9!CMYDpE|mDHD9`4@lSG-on++HsQ|!kIfLPR2mFP79WYm)j z?5z%6S{NGH@MZSfHn}C|!NnFq6*(5Y`mXB&G5CS+zz(4Kc`vM`0Wivj^BMC*|~`+(%W1j&BkI{%KfCEE^QB zj2x=TRFOw#Rz>12<7s-U4Xm1w1)-e#UfWaajRqKW$RAQH| zo62U@W?$t&&_Cp$0iiR}P+vE@G}ZEo0>9C5B#QEnPjhz{zC`^ka@5kV$+XKTZgebs z%Z*-qG!>Cwe`zxE!j@3$-NN;`&?;Xfv+u@uaX}aI3Zsi{ zExrJ$5^QPyZY)eWEMuk1Be7xXq3ZC_X@bP(p;VS(;AnXsvZ)83UUlE8ij_9-JZ~b4 z85@0b>lTXfrUaYQ8B^o9uRNQb$31zQyWqcnF0kib4WfABUkEBXNqAc(>5zar2 z4Q0PKb1ffiMw(aRcP5V}9My`hT5ZoNY|1L~!6V?EQ^)xTJg)lZtf3yC^Z|`Q0o>T-Eg6Hd|5$$^lSXKDn zFh_WGzq2Y*B}5Q+JOI;kX)B-HfOMyLsQCeW(*rNf^PpDZRW$eD=8PH^i9i5o zjW_3wH?^-J)yd9&_ko;9;}J6cTsOxfJMwt(Hx``Rj<*p9qeDpp0Y_)m_zm&b`8s&^ zU=@b>eNUq7zn|~J-2`u(Kngi1atW!jA}YabMQ_fkqLd% zu$x^8Rg+exPJa4`6N5tbPbUVM!`hlRQZxmO-}TD8;o62@@Ieum_neXFQP0^QKOQ5N z7xla54v32SDmrghXHB2ur3weP*Nj;3~-urOG6pnr^BNqwI za<8*;ePWf3HONeVOXO`&bpr8BVck)ZKB`UX2Be0chL96%=@l}*#DL9E6oV{T$?|u5 zCyOfv#8rwEoPNCLn$eE%nkg3*8)*2K%a38o1i|n{fbgYurQ^qt9OZ?SuA$>OhYs9U zp4#>Z_WQ!@3y9~Y_vx_^NvFiqzNisJk`|&Z6Ix%GLaCd02s$$^aTgN@8uV_)vWNK1Gip&TWH-*lrOY$xO~ZW!9%lpaWqIJ#kx~yhAWoO z$gjYmN$8chL0N_FMreVpbYg);`UM+u6v3NRmyomo&bt#xg=~5?smqAQE%vl6R4t!= zA_H=Y54h5Zo5HjPPr<09?T&rfgKbxzbiQ^_RMFd}!BK-RG{B=yYFDDqc7YvvdJ7{> zvGb5GO(34;G%(6b?`?Xx?ru_`F%1Xlf0}t!f*O`Le14X4<_C>U!PRy@Y)x$Q2sb!e z^7rA!7Y#&7fuixHPWC!TsypI?1ufsJ?jucJ-#5OnZGHr>6v=S&s2l7@Hu&%@OK`X) zdgJ@mx6VE(gWqx!_#8sV8(DdCjOB^*#qxKfqeXF|fbZBq5sQA<^y)zvuOFT zWIUwHP-5(OVXEM>G!6{@m#%ktMuP|0y-Eoh%D$@07(1yKKxR1IhRy%W zE&TOU5JvcZ;EXzDe(A%a69-N-3uwVu5X-s?0L^7@-N`Z2X7WbS41H?Pow;*1pp3le z(LCI+x=eU&ILnJW+9hDS*2Z` zCex2p0BI!$eygKoG~v+voDgebRjgpY8qFWZ0cC+AF*e;k_#h{`B{UOb0X`~psLW@KkC=SX^03S_5?#Hd}stwF)U0BB87)Y zW8aKZ<{!p@rWV18l9}}yP~eOFcYl`cR$kdKli_^7-TVohhvbfd`cHqxcm%agWM<73 zSFZDk>6;LoyS>?iD3eA8ZZkXG$*owiPM?pGaJ43#E%sWR4qA^%recwB`3O9y@wIFy zf{sDyv#ScXW4=REZ9I@(_0Bn>boN@cwbpF6s*#b~!dtwW|1_LL4Uwh_q=3EbAqfUk z`u8}^tcRWN)CG5wQB!3@^}?$Cn33Q5e095VWcSziVTBHZHJ~}E?#wX|Ed*Y8iT#0e z9_aEF5pP5q1>ry6UThQnm|>Yko?*5m!Gp&#ZT)-$IX=dwgw;svM}t5?VT%dmrbqKe zMm$dqW9(8NE6H|t@g{WUavUm|PS}v&yX2>t&;jY~L};aio;L5sk(A5rhb)>i-<-bS8o6?O9Eu*fGb>A2~GL@?@^2PU6&x^T^;wQz{LGuHL8E&o3IasV(vAhyD z%BoP>Y>|CZ?5Nkg!SX6^U`ZeMQS1}~G5L!7o`Fpn)w6nKPrv>WLVRO7;up(wuh6Rf zd|vrNjAjZ*VXfXiI8X|xoqE-_J2$>jaeu5C16emb#^+r0NorZ78+214ERu1}ybqc! z_%_cMSBlH0Dn)1v{|K+ye=1o}$8JUKqn&lE?}5S=on(!ENgn%!(a$~h&wr>%h#S;m zTkWBlhkNF>TET24(-Y%a7lDzwqisxMD{sH7TzzxINIg9%)8inv^2&FWll7CTGRA%x zi7N&=8-~fmRp-U!;BezY{go?+3%CV`X@+wQ?bh8djBiv@S(Hr{$16m+S|~hO`e8n7 zdnG2{@AeaZBZ>T=_79Rsl0^9wK5{GcfIMFu@G}Pf^f}W00>quZ>qJMZk$eB}K1B6< zPzw73xuZ(M5d;w_?LOOVWqbmLSSjnI1ehI#D*<@D!^2#Vs;YZF%S#YGdhM|BG=U#W>LiS5N2{ zTmW9X{m&#D8$kIf-?C*l=BWkYWfJkdU9~p^Os$c0LD0F8vKJ-y3h2*1rC0zZ)aOGI zQ#dZXs`&UW+!jSTa^jnTeR(PrOV6*apo^qiKBv7pIo(saO%2QEP7eS4@~jD@AAwt5 zcx{<@7xc*1--q5vz=>S+@E#QKTc#d%f^@Gi@VDTB9^16~EreNI1MpGu2|d7F`l#PI z__e>~V|yVV>)spvdj!BDd|jR7FF5WC?t7Kb@QFAt6ahisT<$n--VM6G$BnT)*3>`D&KqPPT>CMI14baEH9LvkS{ab5Sjij z!KOWkj5?DPZWH<5zkUUR>B6~xSeHQMniCC+gq9+!$5He5uaJ)y_4|+Kv#~rn4^1vv z;OxD8#?Y=#TjT!2&elT!d>_U|E?@{nl>}d3i(<%>o-{l{Uhw$$F943AZhM2{Y?G+w zzx>FN`hi=PbL@APvsd-~!EM_PB_a0$FkzWMgby5-Drhc|gcG=Mg=l7g)_ijR@F}1Z z?Kwh1LTqrY+oOn1)q`LQ`l&3C%1%5~*q!vRcRf+Y=SgHF*X&RMaDd$0O$c5D#(-SS zOJ!{MUs|F-*|$?$8rg3zYVSQU2h~j}wC2r&%I5OF+zg~a!V|!n>sZol#^VjZBX_2$ zKsB|t2_WR}a{_wo=1O(!v!HrBm+!IVSW!+aZLt^V$o zC)-aY;w@yXmvH2)#B(;gZO+2vbbi{a&l&*^ZY zOqq4eW=9ZWC*j!F7 zd9ugw1g={n@|Wc^LXJi)bun%bx|<4-OnU}tC1k>2<)8wm2~8!7`o!`@!sLzCi!*ns zY)W=OVu|D_ke41--BMV59&G)bil|JqvvdxMIXs0@>4cNdTp@JXmt6OyvD%c{`A4yHosfzkGF+pxuF{0xA76NO(#+8XqB} z1VN+E?=}F9iHs3%W5RX6Qva2v7t+BiiF>e9r0Y`}z~5>JDXzfdjQ9TA*ZO0@K=)aX zTrh^5Pkzszk+xet4w1YO3u}`LmEZ#?H8GDP>*oIbx*?Uxi01Ht$El&e?I*K>p>{+R zdARP~pJ2TLAF%SJ7lR3qNHt6DVnQK)<`T=#rd9)3?4tF57(D(ZqsFwehlG&^Q$@Sd0()Xa?)xiJzP#{+m!9D}^)}nk1 zp!-ZnY$P_8zAV~Enbx4AKlUR0(NpNlFr70;&De(B%D5W+Bh&fQ9@AaXt^4yM1a^Hc z_xtkn!Dq{kv1qRQwh@a9N3Fo^Jv;V67XKMHBRjq?W8?Unh4;|wrTG+Epb;f)rsgt* z_6Y--SOxRG#d|6?g;&4m1O1YupXg-zc3sR~%qH!JojoGP`aw?POej~m?cpamk)Ehv zxjr}huAbMvS z9awA8Jc$}1b?m>PFQQyst zwL*rh@#r8@hsTotEH}kH@~V7HX;#Y+w}-jyt4^iwm7tf{x6oU+1RZr#)*!J(0uLhh zojpi(U$+x3X z;OY9$Lw>T{`Z@Z{)g5_z3=6JbCWTP{lW@3E&v;gKHwdG7{AECc=)>ycpcBnJ2~`j? zGP6<&_J=XR9Eqf_L-W_q>76CVSl)9v3jJfquwJ1Y6hmYnLDf>nE9T0 z%Xx}A9f*v&`dcwL9>8||# z)qZIS<6Ay?KMm{uwvz9OzKS4fUcUb<@PFYKTypF17&3dqZ&zIzY2CiSC$WHV)HjxQ z5RA*5Xk1sOhPON@`^__7Q6+R(TIo|xY3r&c?bcSKr++F1Hk!kt-$1qa(CXe^0a6@S z=_mJBinQ}t-CZ0il44U~&2V29E}P=3JhACR4U79FqU)|p?&Dxe?F>r9^+W-KF_+E} z$`>Ac8OwgJp_C*T_1;@hya^p0Y+q$l$8ST9r-^_SXk)qBR z-n)4)Umm$21*Z(Q8~vem_x3zEMVRn__gi;~VWAahK9gB_=U@LHe$BoCMW3baD28L8 zj*h)^D*wXP5I-wptrXh_V2BFsz~!wWmLS=lPiJgIZ>I*chxUR!$R%P|`9YWLfz!ii zz;7>R2v43xt_iyUQ;MxPz(+??hofbBIchI*oykouI1_4A)xvZy;G}|MIf&fU!rly% z5Yvq;(- zf<+X0gdzSfQrO+?+o#Kau)=J`>s6jxd$RyQ{S_PCouF;F;;2)q2~v90O#Hh-g!dUD zihT$k(ERFS+g~cecnEh6S;j?rZV`)=OTh<*U3v_-DrX90CGP7yH7s#zRlV7YIE(v9 zad3r-MPpPF=r{98&7eNa0Ky^Dpg0%Gbwk_D-h3FE_jE^dc)8Y+|l`|1g`;Ske zfJ$ju*}sb}1m?1Tl#H73I*C|)@brx<4x<1kJD`U*m{nRI&?Hs*r3e0h-cQ8-@Fntl ziQmOeSu>Y|M}FP3hj0}t)t;@-&VisaQ71<~7248v)*k{IFhX9*P7X1wpVo!k;^#`X zpY6{-oMF!btIz(?CjRTG*8gV0|?Khy>z(D4{&{%al9@Rtq-6Ysx<&IXIg|DZJb*E%kP*(K+0`|{V&*O2Q{ zpz_lqf`hv^)DZy<+^Q327%MS*ZW~UR%y(&!yx(tgePwlEGr>a1PVujM1MGFk40jUX zG6r2}(!-y=@#!ht=AeaK=HxpYJ8;c)1KElU>esvRzziJ}vUq^;7-k4&la-mj>%fJg zxMl=zcD=gu9q0B)XlU&R#$64v>`v%_ny=bHJC+)W(EzTQ|ItZZh}pzbBxoMi^jVo} z1=VF55He&*k#HU48dSemG^s82;;Qf-v%*-C37E8YB?#OKpi6B1d#E3nd=ytct@PZ( zM%r_;wcpy51hk=lQTS>d1(a3ga`X$SEbv~7c1Cb@k|!iK+JKzabBEOYR>F{EL_7P6 zpnv$OqbQ1~8T;9FNtglAYYC)7ogh@D4i(1FcNrW6i6)@CG~=})rU_8>Iv4}f7%7{RRY9#2N`ywf%fp^fb=eN~6ABKSl_4M_kk>^1n`^fb)7nSt zk56&HZR9~BvQze}GEt;5VGSgo2;VX$ySW^Ss1`wja0yC&+CW0i!>Hu+3DAiNE$}&T zbI6qYcAyJ#kY2t=9E!KfE}U1`hLgvE{9*#gMcRbA2)K4@L{wr#_BwSli62OFxLgNI zVoOC->~NO%uEm>FxHk<@9%GMfSd0H2S-Ex&8gmAex&tS8b6@*cHB=~6ZFMeyjBJoH zD!uGjN(`3_nQkP%k$<|-s%PtG+v0x4xLWCjPi7#wkc{>Um7ErnhSvK`&GZmZo4smz zA8X=M&*DDzfj6&XJUx+>fI2|A9es}?YBS2V@AXS)z-}ahVXZj>U3dd{=GAZcE&d;^ zH@+-Ddtw_juKSx^wCT#Glz$4@pF!`s|?y77; zGvV$KX@|o%&$yuexV}XT(kYX@BccK$tNGA90%fv!==j`O+28Zp(TsFelio??j)-Cu zE65Xx-qRp_aBbi#{^oobO&FVKct^nu0k&b|LN>HNNG+K6_pKml<45+Xvno$IYTAI7A7K0Q^M@-Z zvklfy-JsV_{oJ?%_YC5z+u5sRjhA;g@18-l!vy|DJjI)}%vW%0ksQ&s=T#~+&L$A8 z9xhj358;H~elppy4In$MK}A~%JU_L<_k<`&pS7W(%LUrFj&(%^aS+39E(eE*Cz$w# znfcn7`I_ZpzYnpKVwkcK8NOUqe}zxk%ED9@)Q9)h-U<4?LmoC+FUq{Pc;N0zWV zn85W=l1E!n#(wLrbXS|ogro9HkQyo6u#^G=Ew=i=rCv~!dQW_F{2042wD|@>siLhH zzcdV&)9v=3O6Y#fsnh|)Z8*PC>AS>OSs_c05`aD4+h?V3z(QvFA!QoR%*t(p1~NKm zAVG=D4hhd5De}*Yc6azRTP!-VzxIG-+#dWVS3f2-Y;7Jd$B~Ekz{fLiPRp6Fp=Qb# zF{FUm+_LE!$lLa^e=M>!h#vUH4A%xxUg1+Z%Z`D-g6$0J3_NN=NNWy#& z%fgd2_C`m$TaST02G8_ig6>WRjEgi*_t2l5d1sO^je(mis>O}@0U_nx^bloqZr*$v zu)7VBML`v>&i!TfF5G@_?`DRE5x0KD33j+!i|jA||DQW(QUBS3|7^jw|39{1lP$oZ X**oCC;ym2tz3t*T)w8+sCjS2i!H}f; literal 0 HcmV?d00001 diff --git a/test/image/mocks/box_grouped_mean_descending.json b/test/image/mocks/box_grouped_mean_descending.json new file mode 100644 index 00000000000..e653073d373 --- /dev/null +++ b/test/image/mocks/box_grouped_mean_descending.json @@ -0,0 +1,119 @@ +{ + "data":[ + { + "y":[ + 0.2, + 0.2, + 0.6, + 1, + 0.5, + 0.4, + 0.2, + 0.7, + 0.9, + 0.1, + 0.5, + 0.3 + ], + "x":[ + "day 1", + "day 1", + "day 1", + "day 1", + "day 1", + "day 1", + "day 2", + "day 2", + "day 2", + "day 2", + "day 2", + "day 2" + ], + "name":"kale", + "marker":{ + "color":"#3D9970" + }, + "type":"box" + }, + { + "y":[ + 0.6, + 0.7, + 0.3, + 0.6, + 0, + 0.5, + 0.7, + 0.9, + 0.5, + 0.8, + 0.7, + 0.2 + ], + "x":[ + "day 1", + "day 1", + "day 1", + "day 1", + "day 1", + "day 1", + "day 2", + "day 2", + "day 2", + "day 2", + "day 2", + "day 2" + ], + "name":"radishes", + "marker":{ + "color":"#FF4136" + }, + "type":"box" + }, + { + "y":[ + 0.1, + 0.3, + 0.1, + 0.9, + 0.6, + 0.6, + 0.9, + 1, + 0.3, + 0.6, + 0.8, + 0.5 + ], + "x":[ + "day 1", + "day 1", + "day 1", + "day 1", + "day 1", + "day 1", + "day 2", + "day 2", + "day 2", + "day 2", + "day 2", + "day 2" + ], + "name":"carrots", + "marker":{ + "color":"#FF851B" + }, + "type":"box" + } + ], + "layout":{ + "xaxis": { + "categoryorder": "mean descending" + }, + "yaxis":{ + "zeroline":false, + "title":"normalized moisture" + }, + "boxmode":"group" + } +}