From dd9e7f57f0146d824165bceae60ff9a4e3610ed6 Mon Sep 17 00:00:00 2001 From: archmoj Date: Wed, 13 May 2020 09:48:12 -0400 Subject: [PATCH 1/2] add test for histogram2d with rangebreaks --- .../baselines/axes_breaks-histogram2d.png | Bin 0 -> 33097 bytes test/image/mocks/axes_breaks-histogram2d.json | 491 ++++++++++++++++++ test/jasmine/tests/mock_test.js | 2 + 3 files changed, 493 insertions(+) create mode 100644 test/image/baselines/axes_breaks-histogram2d.png create mode 100644 test/image/mocks/axes_breaks-histogram2d.json diff --git a/test/image/baselines/axes_breaks-histogram2d.png b/test/image/baselines/axes_breaks-histogram2d.png new file mode 100644 index 0000000000000000000000000000000000000000..8b35bf255178d5e6ab5f440636511b1fac9553bb GIT binary patch literal 33097 zcmeFZc{tSj`#&DpN+>EtmXbCxg{%#uNZHpAV=7zrvSw_fk|axn?2|Qn_H}3zvW|0q`dHK%OT~svt z5x@P*M}zj5l%6}8lEs(=4F1H*niAAXPMzyA;LWs~0?yZtkt|NHW9 zOY(oK@i)8s|DkQ15cv6#5muL$;B{_mV?s8-c2p1L$$bVl-JV~t!iwRps%@U*ghQ~L4eqve3L{XID-Nuhv_U5O|ZOXY` zPpzh7;XYr>$!m0DCw5?#?IE;VRFCI=j$M*_VsW(y;V}Vw>I* ze2PJ@d>PrlZc^6Ao(trJSm%_DhX_Z&P_so#E#8|2g?58d8eA2wbIV`b9cNmT6tN~7 zE^Wg0mGjq*irx!}b?!2#nT^lLLm3)T;HOV3dQpfdW$;3H?ntre7kv*&xnW1v&g^mV zL8mYy^kj;|+E`?T)J)y0u&>0lLbWTkIaT75-o3!x_~f5JAYcOUdN*DTI@(8G2F5sa zQRV7LfW!JsiE>l)rQJ6g6J$}RR9^FPeET}JT*Hp4+s$&BHxlU*73)Qw41M|Xczc?9 zWS&Va+NbEMA9GDS+LD$ePtn!!PG;p^GD<*CopqZ`iL7K4Pp5hD{gYq7)4AcT%@wT_ zr9t#N@iHVm>fza1RcyU@ze7_o{9>H6}FR+?HI^=0v4kAjX|6l%75Yg2<7 zt@&L*6HFQJyu7tK8XWoNsvlZ6mGweS^(IGz$_`x`*S@G$gi|RjAZwa7R2T+(edxQ*=d{Cq&MZfzoAuIY@G+pzbRr_a+N*I`eGX32?% zTg%`5c+dq=0(v%WZZUdN$ z!=Q7woAO9eC94HYX6yyMm#2F} zFJDk)15uSWKbvUGIkFSowFXtJQk ze{hAYM2g3jxDl+?^{z}0locQgZ=LCHQWTj+8EXCzB1bcOEM@hU)We|ao?&g z)*Q|q@>o>0FH%TUt-X(F$(^ursZ(HKV&f}y)C==3uhalYzu4;*M8;=@V z*z7riUv!_&tNo$wO%8Ka3pgyeu;E-*vh2L!t{bx0B_@O{?~wNPoFQ0odL~e2?7fLa znk79%Mf;f5g$CGIzkPK$m$b`6=SgeID{Zy2KdW>*)+W_zaN~D%WhE+yFWX)Oa)Ms?YOe*NDLa(*0gsn9m zm?%*t$j-O=h4s5GSOGaDPdiO*h`nL1YQ5P|CQC$?BUbd`RO$y~amq+0>i#gACL zV_bQ+%OEMB%xkUlb}H)GQowRI%3Cl=F}S&U6^r_@^zk$BsMAOzJZ$6EO7e}cO5vr3 zhZD_lW-amX1z;HNK5LM#dRbalRyNd_@D$%;bKfQ^@2TLWc84Vo#Xyd+L3^YQBH^-I zK70O`K+ec&QNwlf@y4j3wOUzeM9bB6bqjyS6=2A3YO_(*LyS}$Q%>jaN#MmMYo5t? zl22aN!#zwquGoK=G02~q3>JL`c^ki8e~HFYqfH~XVC+_j&>_9uafdp8CXb%D8UNIr zDTpjPD7x=+L?O|ZrZ1sfUGunVu%-!<2YFbYos;wtV_evJp(_U|og2?0v-&=!tTW&e z`U9Vfrc$l1u@TvOYi^4x|JHloJmVwy_o=yjwqeF+TKOlWf|iOLx{us3vt^k(o`H3WxOuNDIq4m&WMHpg|cy(P1cFwALYTb9Uf`gdNfzDK# zzQidlOR1n6FShMR&*}EXn>9qZ<-%>%@rzxI5#{;U5>($T5ngw%9Pn%+_)2rd~ap?)@k#^ zP5d%(ZHv^dZcKPV%S&-Z#^-)V@G!r=*S?Nfy6fBQ^riSC74mV!Q!m{6H!EzlV#su? zNFVym$z{A8T%C)(+t}T9(@W}VMucxv|I1{#Z=FX<9aX~%l+M|wc+I2+?tJebAjYsF? zx*dv8&dd7inQ#4SCQG|`d3dY>-0krz2jf(`9r1!LUQ%C3iC1mfJ0))A8cSGrW`vha zovL#q_TX1|m}>GEHOSd{m}Xz{sKooDd3IJ zhpyh{RamRkV$RBybzAb7ZnaG+!TYFb96VS)6!S3E;Xg{3{%v?f=L_T-<3+ZnB z)9*b*y#{=D#%7{VvlMaWL^%LZXN9n}L$0Jt8My)SF;z06@>4b0yfMZa?cJI-M?I%E zNU?V_(S^sj=&h33-#Uq1Cb$vza^V#CHj57mst*r~h7g}8_q=Y4TK*`Y=cM45bM4t+ zm3GG(|6;Vjv{uJ@QdP-Rff$Kmh!U7*KmFL_FwMLL56I!)Yhf^U>8eNu-jG)qFN3ZN zIU;%UhUc-wg|Qy3g^w#(qJt4dI7j)%5|y^pdOFn!mtk}wCI@xFx%hhZK6Wqa0-=VE zZ#iaDZ8s<<-imZ_*ewk`pg6p(wR(oXone^B%OTA|$$0U4O$}y#&%6B(9 zG2v)CY|Gc8rGm+-d;Plfy@`z; z-^a$#4VbQ@1xjLAqT?RYO==uMqoXA@JuIl{qfg1twZ_*MKXF<}4J}ofBGccnON)LZ zDp7MOlIO~Uo39gV-kR=4?>AvGCvQCdIGTJv#E}cXl=viv_1PRtH8{TA@l{_)kNk}h zcwII!x;;P|t$E{W&QLto5WjM)8j~Z^!V$7Wt&u3WOj`LkdTXV#`}uN_kZt$-Y>~}! z59ACZJ!y5qj*yp!;pTLeYc|wlo_tX~bVXxTkG^Abz_DeCd|51&UkDT* z`q`Ils5!w-x)j+6Hub5K?#rR*B=)@{dam~jH)I$?$r^VppnXMveZ{C8V&K&f_DPI? zd+a2()~cfyPSJWRr&ayF=E~hf#E}Zu!na4Akh9s!rk5Hg+4U%G86S-1E_NN&i1U4p zvb$x3=)RDG`s_?s1Q0KnV{g2&P}yfUL^nO!(z84RVR3@dUaCJ8b=O2>E3evmSI5!$ z5$bXo4S~a~ml}yLVxFFLZbhW6v`u-wkuu3;VHP;2e~2B=hQ$74BygN4oEvRPzke?< z`!)Uon=Io|X>XjOMDfCjUJQ54*$&-9Xz%;qRdGu)#!UCnjPeg+f*6r!-^^?fl7cJm zr<!RQpedKSng&~vgGo>jAl?w)e5wv9u;>RS@;B2d0^>^|FYc1 z^Y9U4l>g>o!}>R#9PWpoG#{zWH3sf>lpVi>L+DA}(}11Bo)+$w>F7>xHYd)LHEwuT zw|+~P4U4ovbeBJlEvYhJ!YMvRf6u;EWHprKWTRra+O=F`PeykHVCF>#{>?CgwNTWG zq9>fNm(x>~K&#J{;P3S`_if9gP*14`2dTk!ps8s{Z3QW&H2be>@)9D)MylS{M(<}_ zl1j?CqaR62%%5G|m8NWYX%``M^`i)iyhV)c=((Cfx>3t{D&H$#Ycp+Z$HgX9?0myx<8=VC5U-IXXIuiZ0zuNv zy||f^%VBN`fk{0V{f*uGxN-ZnJMtajVgz@!>BDqf7I_c2G7a@U5NgvD+itZy-Tt2B{COrC#m2d1j?Z26<}u$Ej2KJ$j9OrP(5}HMI_6lj%vds4zH9m zk)xHzDHoSRBxcxShqn#&%SaYrcOWPWLC0}W_L(3%k}oO1H^qVgw(rI>N&(n#;!>7 zEYuehmdy5qeeH-0)OBZbjE9 z^&!~SD%%#{Nmss4S}ZgC%;iI!Jp4=qvZ)hpHIbcr@0QA|=E6zOqCCvohQ&+!36ycE zf(&KzrSuJslO}igH4(v0bXMO2!qZw9@v3vyU5g!<_6WI2|H(#0?07uzV#T}Tug zS=5$`vs{Vaiw-C8=^+d9D7Hj}@R-rWFkgf~j_wLS)~6?R*hB#3^i-l4ghPK?Rmu(d zBD{eS*H(FrP&2`IA2K5To`986ZTvdcM-Ns?P>`Q-1y+xYIEkf~v_~GmvU`y{oWzi@ zYgU73O@#z}t}Gurr#9Jx(KF|fu}ACuoJ?L)Y?1B7#{l5*_TVPmj0q=IkhAiRot@X|=sP-n zTnJWVMT#*^*>GvX=dSFXWNbQ(6S6#~dKB4l*xS4C)+DZ!EMkvt=D6wHiSa7aJ56CV z>PY>dzOK}t+hA%EBUG=O^ijml-{|>Na3~$v+c&n|Azbe7^fjv==dd3jZ5qtjBgJw| zYIYfc@~7qDXcZNi}7Olqf=h(ouXuPKsFY_wr2NYoDMzNv@5F; z|LhfJ9BDypSvs_|>(hvFH(4CFD@kM${pLDMXwr&?sjjaWgkO;KpqJnX*e$Ds$@NrY ziH?2|Qr98ekt7qPPZh@3I}#3e1Voi52$^*U9Gow4ILMAK5~}Vt5}pg5r$RP#t$0zG zoN>2PCgxTQzOD3)&N1*}Fh#ql25-fZ_ak^`Xhn|@9PY$j>@Ywxo#I$nvIr49NQ^Xy z`*4R*4*|mv7U@U46Ppti$kJmV!;0)?UvY8?D1H?#<&=68<^@>Mz6vB?lxlFN3F%|N z=7OA!Tb1zuJ_;2V*ZnQ?xJ0LF!oJ*==N;th+;i3Jx@mYdPNqzHbD~VCKo_n2r1=z?QtW0~ z{3a_RJ5yS8bxOr~!|HJLVjx^ocDeuC{5r9vW3tgpIP>W9Om&ME=Ww4PW6ciSfY*%k zl54}FOQ-o)IjGFA|2S4;FGRMUq$N?Ql@I8AdL&b-G-uH{_O?9MD1nsIP#%EhH4N3w zbAL`{ctd*Xr-Qyt0jt%-{tyB~o#~_?&NPC7kzAVW(qUS1Qcyl05@)O(o67lpU ztBz-CCS1kImGLE4uROm3X4go|Kp6j_^K2LNhJXF*U+?&Jim*Z+O__a*ti)%d^FfKJ%|bW+Tuuq`p->eqs~1+BYt!W$b^Cfn13NuUH1 zVvH)h_j16c-&U*4VQixsx7=r~m2{2i8pE%nX?Eo{DE}<9DZ}bN`ZD5LDuCBCc)IWC zh^NdKdp9??woE-(x=y;*rtGl$9Ih>0J5Bie`y0PpzBnJXzLuR3c2vZ??h!3xWi@a)(9UWcrmZ4R3G`OD<`!Cat1)w5J`*fMep`62 z^-50V!dL3F3X@vqvZXG=F<*A$GXeWz*?tZ5<>52!RJeB=S6SdELH({c)_t~&c2m@{ z?PPDUZ46Xkc{zKY!*APoFakdQY^T41ddH6lL%XvYKc+e}&3@FqT=>kUUYhX>kbsQt zc(G&FpIQK3ETW8oP;O+uxv@6H&P+kYNjdNRSvmiOQ`lu%KV2*3IVeu)qE}`GJ=d3+ zuGiW9a)Zf{n5RD#x!vTw7Gs9%&Zfm`Vds@2g~FxhDz(8&Cz=Xfr+YN*O25<1Exu#| zK>{klD(PVx=}DkUc`H>dZfa0DO}VGSndtKDo}FFJbbm?9`a&M447z>uq5n}%%n56b zlb)Dc2V^;q!$48Dv0*vx>g2DtOB{SH<5^Ca7|B6aB%`Xm94JfO?4{k8Z|bV41?l7( zBVA?(qP*|82>%<2``kw4xQ9rWE^Cd3-snMEpiR|-d^bD1%qqEi%uxoeh5 zKkCEG>O=X3od_Dk7~_;LJqzMi5~B|M7o4?l4$f7Y61{P_PZg_rj%{z)`I2sHMccmB z&5S6tAFdM3d}h>3Hi`hDq#lsCKZ2xZ&lG!-?@M}KkDcY|XGIovVTRt_x!UU91C=GI zXcGBDM1FYHBR8*lC1nI2IdxPp`n1gtw~09R>@Sf8U9Vy=ITR_guLlh(A3pH;7WcM# zsp>N2itzn!h~e)D#0vjiKT(Kob>*cR?5ey>=X9tGB~dmJ@4lC2PJRIts9u3mWP@W1 ze4_uN<3uw*cKux5ZeUNhVF*NtILtB-92_E>H7L>X9TK=niXX{g@hA2bWr_#LxG&rE zzPt0-wYp5^15P*d=8!|x60y5s&~z}=jA4o0lGotLO_2w^`DR)rc1TM+)<^tPPG(EAxIH&PE`!FY zKTp{f>?lG5R3tUhf366$Q&IA2xfegWUc2^mMLKsP!Mn=Hxl>o`%@ta=rA|FF@O+3x z_um{}Tb&=p4dG!{WW&k93Rjj6X&MqjW%|_@XjIL7zecq=9%KJ}Q~gt!OypRHwt6_# zZo2E>)H8aVYK{_7gv#8#IQNp3-rf{t_PMh2^VI>yIxGk9wzWb<(4mzBv0pCb<8ZDD zy%VD`b-Ayw^OLh+0lQECdc55mB}9ovDl@QdUN1@k*xatL+Jcuf2WUOz=+z?%#! z&^Q@7QkP5HgO9QjgeZ*m?#BmoZ4gmgQ}9d`?^`;00fSEMst%xvT>e8n<2*H5%gAq5 z1)+W*Z-A`hHq!PEbte&8ht&O^<{iLm z>zu}>G1Ps3xoueofMvyEW}9QcCo~i?+DL#hZ%2z*G`|9cxtXqM@s@bF+Tpa zQx7Ew=%jE(9#7Hx1}S-bRB#1dFm=o^Zm=EYp6p;NoAwZ9E5Yad**#Dmes+H+X6QlF zsmQcR!>$R%&d5RBUOFeH2~f7eb>tuoEKj)R$eUqU59cus=>2q_IGHUP>JuQ_v3eK=Yc8^@9lH@ z>oJ?NU=(zt!288dPpKiqxjeeU58$(F(pzqU;~^+?1yOS8G`3>#6t<6|YL4;A}?YWc^^O;4m-NFhJz7ouC@R^)&cc z+_(Xp5JuVOIvt5cCZa&h-gW!6(Yksrv94kw|8d451T{%dMn3F1EA5aE*pla5pfpRR z?Q@2Xbc@I9yoGHZ6G4R78O}Aa<97$kylgfsKtlT^!jj3?iEb;! zFK{uur_!V^KAwHmUUGrD9H#k=i-F*i-g5w$_Ju=`4N>OzO;!$yVO!oB8s@j0!p1Pm z5Wg}Ix<)!I1c56#Y(WQ-Rm`j!bh7_E)i3uE5*kAa3S3Jss}ARzcccsUODELqE6>&8 zm;;tF+MG1$14_<5uVZIF@B1&S{hSKd+!*Ds%-oOJypeq?pK_kMeDYgC&I_=|YMx!d z30Xfd2ip!#;^)7gMz7}PI3e}+lJiW2{^rYJN1agVqF_bizr-oF@7@E9>7wMI|52y3 z*ec%xcu#+7FeDb0njmP$(h(}$Mld%RzuSh}! z%pIIF==1woTklPCP-_<2KDf1=)?bU&EH3iI_Xi>6jqU1^r1IuOupWiH-e5b(TMkHJknsQcfMpsC7n(JMe>QPQBiGa>O7Of)!x{f2f*^@X>)-2%t!|xg(4YRZtjwGSDi8pcao7^ z=+)P7frk3i3Fogq-8V18LlL7cPuTCR2%_A_1JA4wvU3xXdeDaZ;J zho9f%+(@m8DGC9H9mc}-$S(V+1|y$wLCk{&&55IUb`PNmt^t#&`8(Gx^?FQAHezEk zq~A`z@#78!!O^f8zG5`o204n~u?rhMU?m=?U$XS`uGp209Ucza9tQ-L_CJR_Q5So` zSfvp#Yq^??{I!GB=rfPsoeUoz8>`<~TZF*%(AHE(`l#Wr!L%7cLEmRP=%ZVQGWBvJ zen-h8{TG3gJmCUCz$*u!1G_bLY%;o}yTb(StJ3S_KyQv$?Nrw9ZC95S1ged2rSNlZ z$^!r;-^3=z*p*L)grXjPr#+61+#ma??HcqhUGT0&0J)WGgSc!30w3A}y&5~kXrRbC zl0@uQhXh)4ix-Re$tsnkHsusA3OO{)WL;L6L%KT=g=Sn=AV@t*`}tJa@^tuh8Gph^6j z$F?b!S}`(_W*u)e^DSDq%SMBwpHoyiWbJz1$w83(l!c-Qq+nU#gCaxcvB{gQAd;JX z{ld0~U@5+krV@1`fE^YA#AW2-IAEG5T&_Dpft;Qd1agBBOlTk zuPYl|!1FOE@&fnsq1!RV@To1rTejr6jm=dAi^aiHnwc_r#Q-5_<=s`7J3C7bDFq1w zx`5!tNj0ectU9d%3di(&pm0ojG=%oKrS}XVURCB}61=dg)kK@Y^3HWEr>SK}7hEswIPjLhUK zzI&@uAkWovya}MTWv=Vn5s#hZwb&%Cu$A`RXii!dNNUX9W2h2Ks8?-ioMex01_4y? zgl~Th#%r}?G1+}=cPj7POzwHkAlX2SU51^}QL4csu~Wauss9v0fnywTYr{Q%fEd;@ z5Gw@H^_byH0e~IKgx<&nfpG-M?LMf8V8Q&j&km5O%5Uft1b%TNVN`R=Wx|4}X9L>R zp5I`2O6PxzzM)i}lhl&c8Q}e4$BBmjZwzEq9tf-lk>LIB(V!kvW#dD78&CZ8V%Mh| zP6KBfvFl1H^UO3P(b>z<+}8naeO5oI)`*oJBMH91%qky*Ai?c(F7n_^sn8}K!3XPa z`jXz>;l!tn>AXq^;@@cy9QHiU-qE-XIaK>~HN7s6oBroXo8#jg$cL|iG;A+~gf1MC zJ^?U!Dz)Z5Lf}o0v+N!DOayILoe-Xwo%v>fJ9w&IF)2lIm?hEMFtdz$C0WASwC_@j&u9UqC%KjwXuh4ag zAKRb7*?kQmPM0PH9U)0c^#|goKq%V%dpH7ClHuD{U`M+h2c`SvySP1B|2Mn?#@>m# z(SrU$5pNUsH_?+TSw$&vQ;VT(95<-poXAwsgRc zjM(1*nu`6kt~V?$urtQxLC)W&zr8Xu8y0Hx`MS&5x#U{|CxI9&DK5dCy=mWmH69C|H~qip(IL}^+^{XTTYqhmbIP%MS` zjsGVpZo*W_lf{ad3GQQlQXh7c%_5PfprliJw)84_Wex_gKsaC((JcP!K*=fq#A|OF z>=wS>rGqPI{ZqmX&iZ-xbfbZ+jO`OQ!s2eKFcYySvUHu>rVz@D@9p3T9<^F!tFNuL zQS%;w<+|t5g8yqKTICpJUMMOP+t?qV87`SCu;(?+_{O7Rn z-!joqD!4_NQQJoeEUe|_T;>6Q*HIoohbb5a_$}j`S^CET=m-bE%q_SMRw;O^@VXr! zOwx_Y95xe--DfUAeFXOX|A}-{kMC@eXKD>Ur@P=KX8!ZrhoLR5>anpgNW;8$V;wjo zBD|){9%QL|=3ODMcMQsL;SFPL5u0ueDLtzxk_*UAlPEb?|7aD1_EgodQ>xL|0g-14 zMkjm^&%2Gc0l!WAJnEv!)ARc8-mfQyP6H2f^97|{6*5*62!1ZG;;VsJ9DFg*iP)v; z;OIE!L(l#5itBgAZXkvWF|^0&8bAE*n=JhZ6EAv{9-`4tQMc|R4A-Y*XYD2ntqFx; z?1TxAbP`e5&?Lffi#X?-K7*%KqfY|DF)TB;O6vMW+U4We)2d&nEKfn47)XD!-Q4yN ze07I`bbD!7dX~-m%G1#Y!nr`>MNY-66zJ91Ji){vdgfg>IGx8$YJ4m9JQbuT`G zbcf|^nPq$G6-4lrxwfZm2YIoPsdgjz5QYSK5h=nwvSbEi91BAFu0TKjJ{^WE*O{$c zR7=;(jX!qzp@x*p^cnGi`;S-Fj`Xv7o|+nlItHX&XV2TeiiJT*ha0p-o&rBYyNXn2 zzQBf#gHeJwt_w@d2Od~cG#U8%Zy|7}bkGp9UJ2tNc4aR{P%K~10ZIR66=;cRKVCbz zAWMxth>jG47Mh=3qRiGdN`$x(${zAm5n?`}dI{7{^5VsdtIfQi!zM#7ch=W7PBm9M zEyy)S-$t1f^$_rpUmvsRy@auwr@diNRb%%_Q|yR{5ZqiT+f&V%kBktMeJ!M#7RQhr z_`V7m8ICqwT0_-NugeKpBGWpE&vS2YjM%JIDQQ!KC4Tf3>ai)XXo-;BoDbep{p_HO z>B5iteA9Z?qf$<9?c2A_8;q7g{?@lbZI-YW^MkPpK~9ggZ3aq)y#&=2xV%7Q8u(`yG zf-VCd-K;L;cw4cp;qczy76e;KL(<1rZEddOP!j&bBeHBurj?ZgPRIThu-RoUtjbSej1Rqr{0b6huoDFtU{d2ek(H7n5QQMc9Y zGSlZTb7TVK+Tp+x)gxU8`N=U8piyjPxixKV>cKX@ZUd1|E)aozLO=tM;mwb{K{8Hj zx76mBG&OdvqHoloqG>z=_!rs@)PfxP^0}xZ9jOa(a}x^o1k>yIVi_h zaB^&OKdY%TmAe<)*IPpAwEx31wZDaMq6I>GmxQzt9VXb1HaW` z2iV*0h=9*FQ^r7e0XPlTcZ>vCrQtAUad?wI%KjD4xnm%Z=!!!$*FH68h?6n_F;-e* zJDoa#6`|YDp#1(ER=mj&=GiYM3U4Z@x&@QHeia;v@&|y9G`XJvHO4~COM^bF+vGe| z+(isRAM6}b6w7l59c?ezf$@@{8q^sq1?wH1AataP&A0r zOW4tmN)5=dZJ(hZ-ObKwY&rpm7EZvrLCFS0zUG0nn(NGVvEl&!=x&B5{I?I`gL6t1 z$g$|;NlP{I-N3BN`oTMSRZGt~Pc`^glIUqceL(>hZpahA6&Zd08q$ z10f^5(l#33uGHVzqfbk^7Ue$nkvUsc-Ek_GKi|&&&_A#GO)AQ>jP z^Q`Cqy855&h#k+O6dYu$qVCu?t+3EOyKg6N!rdt{lB^!}Pfc5!oj^5^2M_INR-ZD* zZmg);s;V#ITB<{tB(LmbgT>z(%ayxI^@78(HLctm5~ldizY@agy|S~2wL(YFc`y6g z3^)V&^Pi0(7nKz11RoUzrX*usWz*-pg9ERNXvxqtXqGO(OoNeF?ho2@ zHfhLhy*$K=WuK1DHY`CW_=CDML~q{kW9Bm5hORRu2k?|9tL_=p>cMXX1r0am^fv}W zX7X*;KIjDecnEZECvUUkGryKuIEyZA{cHzi<=WY+)MUWJjt#lbg$Hp-1HdA4uP^mu zxNcoTLjz+G?SZ!*eT9~7$v4;lXbZII%~t@;&?h0`g{XB`V~O)$Z0re89)b110hkQT zGAOuK?o2!ddeRo&?`F9UwZkGyPhl0&ZzKJ`9Kbioi#xC$V1Kul;B2iMDP-X++`0O2 z+#=suQOySa zOf?0{27sqn(vcNnz~z?2ghJFMD3Hf(fcDRqV5+N!mHz#0f1%UP5}sd4MdGgQTvic; zFR;DZ6%n!Rz1~+u5n;RM7V2L_zlg|wz1h#tLno#(=BgwI}- z*V@=sj{7r3-FvA9Q&DeefuA@d=%cNc!&e|XV|=S7&AH5RyzwRAkQ<&I;5*63$G2q! zVc+Rb?-Yf{0$?R+OOoxY_dpO#8k8-}v0><;CG|Nh_gcgxdJ3C7wHdC80|z4hiW%D} zm5|;7iw4j$SWAtPFT759r1h|3JlY!21`i$2K=7Fs6v;-6SC{+k$I{c{LqSV)qam5S z8qnWadb!+G@V&dsUzGS@jK4^~ZVz~ZQ9x8vmitr8oBAAXPB^NxxQ#cen<_4YIz~Er zk3fu+b4DcqiVL7KUfJB-{F~Nmxj%|eh?BJXBVPAP&ZDY~xV<+X92K*9Eef*l`_*}1 zg$_waXaFpFMS}S%?;fg5jB%1Vm*irW(2c_LOGw$cwY=$pyl_msl-Xp&Ptem<_v);6 zDDy-gpeiPpnNs+`QAvU9@l2(|n9@-hkJ16}Ey@rq_GG~Uz&+d@4h4-=%86etGMqdO zB5P*nTLFt$OHRD(I*G5hC=3%n@QmTk9O%ARc5x}zd8=`}difW`tNkq%>;tyfgb2w?4g!P$7#<1GS`E-v=ak=#G?5l2{0Y|z4;kXs`rb0% zqfV~LtpffSZk)^;1qiSSgD096J|B+Ujw!5QJC7b^cvS^#swL~Dy4swR@nnLA5mSNe zI%4^UjoJ~sDyNo;*`WpSPh#6^CmVVyIG1~%7&QAW;3z6Mnf?Y=fN2_CQkHUB*xI8W z$?PbbAmr{Sb^wn|yq0~Q8r^|@vJ7QA^`K-Jws_9&m)_!E5KQlD7Hme!MFigDRxlh% zsSpPT^Pj`vp-j<`cC|S>bTs356mt7s49VBC!u#hi7CZ)ol!-7G1IMGewlLppTiBnE{*q2o{o2U z0|p4+;!1ybn``~6Upx##vu64u-hxAJO+n# z2ap2SCVwlz;pL>I(5Az4oqD9|PUbb&EUk4bZlIqe8YvWeKFTd~N3V*lOiEVhmq|@4 zv-y59{gl9tzyY#MvEjk#UOLhk3di3m02&)P3{Ncqqk5fA1Npy8P#$pW-|~Pti5{IG z`21b4f}2Ett)!8?P`U3PL0K<-bp1s@u-7E+(F((Gcj5EXBQbWPDuU3dvjhe|SpT=& z;U<-5|K@mGRuey%(?ZO=mh`Cmj$UNA!o{bU@KdC{-Dqh>BHhpusE+hF6?^-wK$5VEzr@jLY`MSbdWoOa$B$3wSw+F z@SU{GK`lQ$W^4;e4F9|uo1-~59Uca3f)Uil~5LGbxFx`7v7rbn3y*v3qAds7BJC6dz$Cqz9kS0_Dh+Qgn^KVNKpo@}x-T`+` zo|&Y`Q8z_CSXI)`svNJPMCqw7# z)*OhqxlU6Z^?%`$_w9UE$_~iNdl^CU5#E2R;ZBpyoZN8n zf~*c^1-w1nv2n8YT0{GzNlD54yES`ztG%nmwKY2Sk-?n@rhvk90OG~d$culmktg^e3MH`xaB+Pl_OM7} zbovV(S(!VsS;n|q*Mg3ng|7H$qsSxFqhIU}1tjC?Jzr)SULgRNu=TE}r~}?7hP6j6 z@ko{nQ9*B>Ileg261j)%6licCemKfxf9ef@)>=hYxIT4kU;IR#vgGgJlDusH2XKdgI@`WXnI$PU*9pb8Waf-%*A zG8k@Cn$o8yb>=DqW^ar4%nW>k8vWlDyy7#dF?LePQRN%K7~?*i;u_?%Cilh;6c;x} zIeSgsWPQ^{p)MEG)x+xkQtnPRrFN%lD+2VYGi{OB{8e`K{-HI8J1$R}BT`=hzlt^> zYBryKP7T~#&3J^?dYypEp8W30<4se7;}%^iooqVe?07~VVYdZSgM3r}eOywaTk5}Q z7e37zO~IUf(!-|0(Ofzh#A|B6+`eMwl6ulh(_a3VhO|nT4N?Ho@druQ0?#drXl|9> z`9ufnpzn2fIshwc@U9y!>U(x4v^CK!e+N6Y!C@RZbD!W1uf%bv45!?(9y2EO)G~WMX@W&#jQ7# zi2wu%JVGm=cXy4oDNb6Cblg!6C_DG_FGF5+8n9qwS5Cv%^rSfA7f>tn>v(hN)LsJM zSeJ81M9MgsW(8b&oAe~$WV1JWz$oM)Cq$&VX zF;dX*6qL1qg|7o5=1RYsOZG#T@sD*tmhdTXTW3=T9k?;hTi2VuM8=?}$q!x})Al|q z0s{J;bIJ$tC~%FAL6KGXcI~s;joUps+e?!;TwU!1E^p8%*aKPM*+76SEeG60;UT-I zkU$=+nLzrJH{=%)(FXVWjKCxLH(gr;9`R%8IUIgbvA5oz$L7kaS&0fW6J!I!O*p}A zaPVE)w#TU8x^h9m6hy8yZsS#mIo@WxBD18gWpHhRXgW~vAhuBAt|YWje~>B7kWffX z%@@)uyMFuqhez?5V((Z8f}96_!xSgwf!#k_)v*QlS-IA#{8?vyYQ-MhFO&1)$i*wh-V|q$k-GR4GyT`HH20cNqR&}ic-k~Cr2i5lg6Px; zqLaB+N<0vb2+Q5#SsTX0$HZ(G9A6w2IVBr{avKYW6iIWZuZ@^#-6fn3_^?p*}Rt>pLLDdeRv;1VBhMMOoNm0ASJ?yPrh943Aw;8%(c>Ae5zyF6Q! z)-hhU4L@LVR$gs=XYmdJ*Y*5p81`D9NfaT1s)mlwP#uuMK~<(LPFb(Y%iuCCVTT{r zEeFes+Kqw0y6(nb0_$K8_SW~m5;K7JsJ4aN`>8;Bxw*umnxZvWm1^N}e_dYkJAr4x z0v`$PTZ11I@}lzug)vBf4-(0TdA9BRbC83Nv9Ic#lmzSlVTETR!yIYcx>&a6hLW(m5O) z^+DHa(~4J^_$>W5ls$jx1YXXa;CTIuY5=epv8{za!3*-&YVzj2`nQ9%q!*5^mHf8R z+2?;ATp{LG8$-G}LCfy6QX)uy=e(7HFkt{VvbHx@=_mV3a$j&=y6}9T9+u^*B2wA0bUHQy}upghtX?K$WVTGfw0T-b)t#dhfqAO(TktHBLsz^Cc zopc>|;0M}@P{nqG=b(-WZq}9l;mt00>PliDCO#2VIR21#!xxb9yS0H=NMpDTn9}Qz zv=~7Hfv(7g;LyF7-23C_b8a}aUCabR@qV%Q)qrZK*31K9oz6*^?xqG(T|9{*AY(P>gOJO1jsB~v-!1YQoTby}b zDdYRfP!5q>A=QRO2R@xlQgE#Pv?>ia5)9%jSysdG8w>kifA^Y}#2?6C z0!hLai(}hDK_b&53?(ujRrrqsPjK~fniU(AHJNW`O;Du?6kPTa7TLuk22}bn@p&t@ zk|~FF>U}3X`}LX4mjR$wS|5tgHq18juh`M#%7#Tlck2#p1wDLV7rs)>msVs9gmTvR z4LX#eZjYb~Ab#DM(k}4@RgO5}-xdZ;P(iV7^XnG?Cv_}cFYkDy9-dF8bDex9EpJLn z==R0^s-D@CyY_aca&PP?*QHM{@! zeJ`lG$6K*j4t}?^ckV`Qm^cKWfHW4=7stSDdXYd)1xPpjZ(7?D_=~C#tmu0nD*bL3 z6-DD5<-7;b2%Ap#b821Mf{?roDm(rZeO%DTfT zZubh@Ux-qZ_)gPXXvszeUw~iREeIYP(bsY4=`Jc9mJBeP>FUq#pbE_oWVS0;(D*GPh#B_qANGM`SDF zDzNqAV!FN{qRYPWY>t&|tMYU&0~%d3K*Ra0`~KNf;8O=ZIBGH9bi&6jmHCo@YNUvI ze;unU5b2(ak@c=pd41vd9Rv!rIUeU1x9!u>ABm@y@Jj{u2^TE)zn03Y@k^e2bua&` zrmHNV@eo{ZY48yfPY}^O^oRUlA5G{V{b-w2o!9n-y*S*oo2x+$I14~ULL{R_BWRo{ zBB`B}t1midjTn{(dAItT{1IxhD$pEUuZLCsq^5$?+B2)N0M~^kv1OkxLxAfQQ-Fqo zABKIwZD52@Cq=z2m;v2n?8xxLrhHg>&AZzd2N{DMX-PjVy$l3(=XmN2W`L+HDdWkd z!|eEgbD>8`talyt`+$>cPtCk{Zx7&INkh`0;|_;Jn+Fa755wc__1bg} z-lFqHt&=6i(XZ+J188!>)abnrkKHl{7GPFvEt$8)#*1acyIq9VgkeJu4BFe}wau_& z&RNemE1s{tY4*nfpiI*^3fAE=vtR+p6@~kYVvkVadM>_abu~T#x!$#d&J`rv zGZCCKJx@+J0pvCLvI$NwD|eTaJOH}s_kAtjB|?}*zjpt#UuzqPZr#6$?2TxzA&IhN zZoZ6dw-nf+qmW%K46+$C7$B5RZCB<;7;IMy!n_Bdy8ycs&0iRgK5uwwf5P684LDwCH?DG?&7 z>IHYY(i}F+q<`a+{(Ba22%n~wD?}9Urz7#@o7b;R>@=I8#I0mB1jjUk!tpgG^LkpO z>kfCFGP9CVAIxdH8$C*wP)|F!O%R2l_Yh7s>aaq%Pu?R#>;RynO#bTi06BX+sq^6qPNMfAL+VgGwNKRtXsz?6B!S80j*$vRa^h7RRbkWoQi=77oM{z!Wa-{ zPa{+T!^vr3wMQMm|9JSNe&C=6CI6l|CXifGvo`0Q+S@N@%-fU^9>M=(W_BI4SKIdG ztbRTB1Bmy0Z@M3S`x;|RC-qYM%uOI#*>#o(C5iCAXML3Hv%038eaxw8Zcbs6Z50zk z)Krvc>ztPW#=37U&sNNR1;w@>OWmkQAmoiH7Q6}kl7h=$T1)hgif44Gz$vO9xG?)~ zp_lEno)`;3H8|Fgce~LN>PR>F@}i#Qhn}%p3Te7m8;Iq~HOip`Ncx|kFUaVUzverr zy0?qip*xHw+pSUmmTkEZwsH$5f-f&Tv+TbMvOFoCUR2jL)r*hyP2U{Ex(SFnh}TFD}5p66RTf3?=^>6m`2ZxV0VG zgG4L|N~Ee_N;?aE?$=ujALgTF^!}{+j?0ulAJ{1Fq^R{bEd5V?7EThCHpim8=|j-2 zjY%1D2i1>>$KhOB6f(2KuG6riacD zxpQtk?i)8FXjerU15I@lr1rvh8VOh5Rzr*Us(z*2SL6w9-_IqcAv+%5!A$+MD&U5! zHVMc=C_>S2dW{P5e!w#<`gXW%DH{jvRFC#A&5z7a-h=KLbQ23}#!Fp~lwt*lIhu4g9hkBI$P4$EmdNq7~ z4xSg=3tl}kKk|3vH>(84LMlNIv5@6W&{t}{f4YLgHgvWJ4TJ4g_V!s8!^USGN~-c|r8D{5McPIJBPdoJw4*UGnT0&eeR5Q?)Vf zL``YE{6xuwStY0xG7Ok^r|+1vV`oM{Qf?@A@6&1UL*TFI;8H{L>;^U3*XisU z)-f1@se!ObeV|VG)bMG=t4#B_UQ(InWVW%U662Z>@ z9!RmRk2*zGuS}Jbd_I0|EB#KgRoOhqXuTLH@WpKY+9H zPC92}%A^GDE*NWb4LnWr#ZPiGB z&geB_OKbL;9uz44^*M4*Zu_i(iF;D5*UlB77u7@zCh+MBuBGIX>-fNqGuv4ii%m&c z=+a+ux;gDfkBoHU$_ROOs!Ngx)3=;-PG1p4E}tr?dJAV)(tnKK>N{d9wmo4Fc(rX` zuXvuutIcveBOB#!%a>XN`{$4wB>$=B=C?D$ZY4B0wVZvRfm_u_gd zUJp&IJh}%gE5~{w?p8SZG$$42yPk4`eR$$4n<3A-&CkDt$aR&E6ZgSi-|!Fh^p$;? zHPAjet**{`@O7KvB3zX*Y!GJGVH07qRtlI~G0Sf7xzavKc7H*=)P4O9SocKj{OGv% zseB#Fw_-p0v9@X_5co@SaProv07C|6!DCmq@7i<0_w#F~oSl>3f$mf5X9tFKqn=9z z<9;rDg?k&;-5#L9_^}04@RiyLGA1$px@nve8bB7V!HAm_@e>?j`X263zbQOl@SBm;>Z~fy|)czTX&1NjhZibK`MmnJs?(k3ecQLO7fi^#Ce0fH0Waq9?63x;22Y zTV|PRU(Wcp?tKPF;~V?it)Imz`2*moa~OaQrOzXrLWmYKY=ZEB!4%UBG7DL8nGF{l z^tjbuBCSSb@&+rjw>i7l%Uv|Tm+53iS-+@x;Zy;jzZt8|}qxy(HgEn0MOes=YE z(VjhpMuu(%Yp4Y!ku-Gc8o&)H_H1tt^aFcy)YFSW1bvxZUMHzl;!Y4jD+G_}4-}eg zRGpRpc$L3FC944d#Iz-d<9#E`sgZf}!T_}~o&NLCJ3gs+sY34XV7~z)4U%18sA7g?^^?0%81sf45}J<)Gl4?D0P46ztT zxUiXEZ!`sNQbaHmz^0f_mA|A>4)bj}R#lKlqM&rK<(YX5N|b01o^u}^gp$?1w~54C z+UiJA$?CS#&!O+c6LpKZbl7Q`B|B&pl%wU8>!K z*f2HukX(%xbIub2wkZNF?6bSYP=Iq1Ix5LUFpPuV>#SDw3hpXRc0+}RHDs1Y)ciL( zLp-O`n-P}BDRKEv9^UbKD%ZC9h;`K&^n}uaOXZmBEwpV|e6~;U^OvVo6R)xDDx1{| z7~NL-cGw|MY4FgHclPq)B&P5AbBsyH?DURkc*(TG_&_O!v!rU5jnb3W0lu zI@Zt6YAVq_u}FweX3Jw8A%1v`jqTmVs|X`Kkx^*AY36gEu`&7q2;A{ej-t1%P!j4R zAx|$~sMxiPvKB_Xhv#oXqwjG2(eiT(`@2?)qMB_V)T9K6ow4XRj;rjV(YcwFTNJP& z(yO4dt76G`@nEW1io_Jnnsu+N#Rqbrs7k7WKsTgPZ&|W8a6HeuEQ5?KJfxxIUGvEM z#DJ_dMn-nvv)=v2q((uOAfJ)rlgKYL3h0`SB<2p}P_?ftUuN?PWvQpR2)Ye~gH}SRW@p2}qirvxcG2>`;V+j^p)mUg1vcnO+Ci;#Si` zr?dz22^b+SR-vlN2gPtYH6sUT0%iKpyVq?Ciln9-pp+DD?&MKlfEZnQZPCX41hC;DCU32k6 z6FRBBf&p_>JoFf5VkKAQg&PdrSJ|G135cllrCmt+=C|}V-`BwOk*MQH?v;V{iA=3@ z^|+6Z%`TN1v9%`941SitijTX039d8mdfFM+?Xi8a!ur)m;w@sV0c@*UM*uZfBWJjZ z#Habr(=FRrtnvgCX+Au1Rn5V2l||D~ONa7Ns3TU}0bis!d~3&3$O=ETp_qa{^nL$O z-xPATSR9*C2XTJ=wyX?yLxB8r=rDz%rJrC_%nXg2Fr&na8pyF+BBaTw`!y-U_Jm9m z9l_;EkzCxXiJ?KEGpzZ`T@J-Z1xL*i%plP9mf6bjlB3#E>Y>b{%bKk;Pn zG5C#NF{C$P-HZ&%mpnU0w)A5MQR@4_Y!H0FIJ;e#nAubSwpt*mmH6yJ-?9x?dnn38=weP;+}nr#z|i(Fh`(P<7o_Vu29QbfTk&I> zl2$(D#o8<)=Sb=9=#8zr!i?^^;y>G;OBdYs);G|iv?tv**b|wb z?;M$ZerlT=-FQN(zkqUbc`0Yjvl@vV=9H9iM>3eA+Y)#rV@hYT_VRlcUC@>z2(*%! zckvN(TdvhG!B>1Wh7Zc!u<0LIhiQ#^647nZ*ZpdRE5`&>GfHUOnguF?zZ%etZ@pts z%8%=BuSaW-zTy`6tow1dBH#CFnP!AAUAfc8#n>uuS8yD70 zfQr^bDzqdwZYbls_iYV~{eqxE6s)aw@r-R*mspC6H{G-)6ek6cYM zGEcZ(&+4~FSr_8wx@mNOoV>%UKh71Wvt2h_0`PHb_+I7M^c&731IM=T^1dt95l2>i zCmdQ>N4Am8fB6nKLd%GBU3ds3mgJx6bG z@g5Pg*645Gu(|K%ZNDSZBTc;|wV3<79!_rhy!PFDYiai5McrQSb@i>XB@QY-S?A%d zc$zJsnMmhTn%PKjxr{pm_UFhHDK|Sk@b#$&)x$|F{6Y8E*sR&hcG)fUd_^@>pv>)F z0|?ggJVo~H?ChZ{Ta{SQK$l^ z#d<1L{us%@{uPsF4xfpgIzuY=RQRf=;?(;ECRbkfxWxx0Q?l{87J@xM!}yaSfFB_(0S#FTI5AC9> z#&5(0--nD5Sgl8d&KwQ^Scu#W!^A`us29AT9Q#~D@7}AA^)()w^)MighD_$$WHInO z#YgZ6?>0Jti-X-ohtC;#PUa2}}D@PQy}6v+icy1M$<*B}E6 z1}Dcxn{n753_-XOn3L>7db$wQ0!O%FPlB!yqYTV4Ob!Y_sRfE=GW6|1POCIE_VRk( zeVD!$M0-Pzow^zPRB2M>ag*2V?g9)#CCmExN&whufa!+ymyWa05XcfJ4g7_s{RWcu z#25}oMI5FZk6i-!?^-Vq?S_v=4fDyeFT*DWe?3O|}2Ea^muO1O?X_@dCCv zNN}c;$;kEdJ+I5et5IrvNm^KUwMN9(ssG*8KgOW>!*J2mr@okb%Fr*Ob9;h5ZEX@?*Q z4rt@xn4L9$jowwar9pwq?;HeUT;#wg;BxW>E3N#>^7sR>w|g5M$u}Nv^6}!pv7SQ{ z?NK%UKNqc>TiW5pz19!-%#VhnmkQqq+O7Ae%{;r2VzUty1o)jBOR}(NrV&FMdKAdG zQIBK@H)(8G2MzX2ecQFKwBX;2@R$#sD}1vd9XEtKiS=mkiMI&K`>`3On6Oy&H0g`P zTToOzhCpdih-D3M%rWte`hjS>xz@ph({pwQrzbaoYN~^$SZ|3xDPDa1~hd zid{{YLH@yzNRN$pdpEF>SxA&u)GIuDGFIEvh2O{=)gn#??^EX>SDaJih@T zZPISRem2HD6+~^x#IX@Uv)E#cDlvy2RE+F4G@eaw7YoFqIw*4!kyf2z7e1b4#&pI& zoKbPcTB$$bxG~bR8AX8Dh5h-7f(;euhUsO8k$+O#0W$D~zW?#MZj;N^w6B4)rtCex z7KT^HziXoTtvX^&v$Qy;C+PYM~-Nbc~o_zMA1?=9=Z^)`4~O}PmLK8@ zy{1CP$V#-rnc<^qG)PK}Lb^mkYOGR*6H5#+_9f>)8Sx04#8KsELS52Rw;Q08R>}Th z2HGE_S;d>SR&}HYYQZFRK{MXRnThxjDyfw?M8U2>>J@9jRH~1P-v*Uic#3VdeROY{ zPR;~Vp6IIHJHa^0i>|^~Ai!lJ|u4Zuh zhP9UD(3W%`Y`|nMsp3ke9$%w??#70F!fzW7Ft^o(LhKU~%e|6OAWmcmy5boAqulC4 zrfy2E!~?{8BSB>ufbJ5{*xSRjVmG2HC2fQpkOzc|*{jb z-5FdBTYtnENhqzxv&bcyR(Vnn9^4{DZaK28l++3vSSiCc-rjUkU=VlvPpL3BomAll z(2Z?-=m0raIw$=3cnU@P?*AgHn*-MWtdKn77O^(jsM&A({T96O#nN((*G&X>BXP#SS$SI$b||L{Lbrgu7^o3~@{i&3*N=t=KX9E-6nRT|W{DR_6M zpq#Bc9bCPGFX+hJavd@Ml1N2NRy-4lK&zP*UD*E2_AqebSjhPL82V#08evSnZ_RY3 zSc32u(7E7Me}freu#j?g4@>F%DK3$T)}uwvC_v4ps1~b_=57s#a)Z(+m$Iz5C4W{I z<+UyWtEIw3&Lwdb6#n)VRKVMe`4kM4{u4)Y0>#|k!4%IguQW~#3>t)w4>9BO`@6v@ zAKWnUL|bXxOM)}t9=${yKUFkpo$#)D_)t#Qy%^JHuV-r10SKeMAQp`>a5bRy)Hw*8 zzE>@aT;KC`61~EWZ+%tQzI%p(=v;GK#_b41%$ffFyqoT+tjC*TMoeP-5#fp`FRlE8 zJ@Enu{yiqoaXwu9OGS;5IAcROc_@USnpS42h#$o1uQAv80AOU#=5gYoH)6{80;(vl z{?eMmj)^(FZ$dj!Jpe=ogafMSF|S5FWZwJ^)M-Ls<4gEhss0Awl{13jn6#PKLV- zmg-ST`u+OTP_3lT5xN)l&(8&Gb`I{6)Gh6?;P2OOV$VPcsTqHw`t5U3<(j}?XAh>D_`LZRI42mb-q%aXhR literal 0 HcmV?d00001 diff --git a/test/image/mocks/axes_breaks-histogram2d.json b/test/image/mocks/axes_breaks-histogram2d.json new file mode 100644 index 00000000000..c9cf100821d --- /dev/null +++ b/test/image/mocks/axes_breaks-histogram2d.json @@ -0,0 +1,491 @@ +{ + "data": [{ + "type": "histogram2d", + "x": [ + "2020-01-02 17:00", + "2020-01-02 17:10", + "2020-01-02 17:20", + "2020-01-02 17:30", + "2020-01-02 17:40", + "2020-01-02 17:50", + "2020-01-02 18:00", + "2020-01-02 18:10", + "2020-01-02 18:20", + "2020-01-02 18:30", + "2020-01-02 18:40", + "2020-01-02 18:50", + "2020-01-02 19:00", + "2020-01-02 19:10", + "2020-01-02 19:20", + "2020-01-02 19:30", + "2020-01-02 19:40", + "2020-01-02 19:50", + "2020-01-02 20:00", + "2020-01-02 20:10", + "2020-01-02 20:20", + "2020-01-02 20:30", + "2020-01-02 20:40", + "2020-01-02 20:50", + "2020-01-02 21:00", + "2020-01-02 21:10", + "2020-01-02 21:20", + "2020-01-02 21:30", + "2020-01-02 21:40", + "2020-01-02 21:50", + "2020-01-02 22:00", + "2020-01-02 22:10", + "2020-01-02 22:20", + "2020-01-02 22:30", + "2020-01-02 22:40", + "2020-01-02 22:50", + "2020-01-02 23:00", + "2020-01-02 23:10", + "2020-01-02 23:20", + "2020-01-02 23:30", + "2020-01-02 23:40", + "2020-01-02 23:50", + "2020-01-03 00:00", + "2020-01-03 00:10", + "2020-01-03 00:20", + "2020-01-03 00:30", + "2020-01-03 00:40", + "2020-01-03 00:50", + "2020-01-03 01:00", + "2020-01-03 01:10", + "2020-01-03 01:20", + "2020-01-03 01:30", + "2020-01-03 01:40", + "2020-01-03 01:50", + "2020-01-03 02:00", + "2020-01-03 02:10", + "2020-01-03 02:20", + "2020-01-03 02:30", + "2020-01-03 02:40", + "2020-01-03 02:50", + "2020-01-03 03:00", + "2020-01-03 03:10", + "2020-01-03 03:20", + "2020-01-03 03:30", + "2020-01-03 03:40", + "2020-01-03 03:50", + "2020-01-03 04:00", + "2020-01-03 04:10", + "2020-01-03 04:20", + "2020-01-03 04:30", + "2020-01-03 04:40", + "2020-01-03 04:50", + "2020-01-03 05:00", + "2020-01-03 05:10", + "2020-01-03 05:20", + "2020-01-03 05:30", + "2020-01-03 05:40", + "2020-01-03 05:50", + "2020-01-03 06:00", + "2020-01-03 06:10", + "2020-01-03 06:20", + "2020-01-03 06:30", + "2020-01-03 06:40", + "2020-01-03 06:50", + "2020-01-03 07:00", + "2020-01-03 07:10", + "2020-01-03 07:20", + "2020-01-03 07:30", + "2020-01-03 07:40", + "2020-01-03 07:50", + "2020-01-03 08:00", + "2020-01-03 08:10", + "2020-01-03 08:20", + "2020-01-03 08:30", + "2020-01-03 08:40", + "2020-01-03 08:50", + "2020-01-03 09:00", + "2020-01-03 09:10", + "2020-01-03 09:20", + "2020-01-03 09:30", + "2020-01-03 09:40", + "2020-01-03 09:50", + + "2020-01-02 17:00", + "2020-01-02 17:10", + "2020-01-02 17:20", + "2020-01-02 17:30", + "2020-01-02 17:40", + "2020-01-02 17:50", + "2020-01-02 18:00", + "2020-01-02 18:10", + "2020-01-02 18:20", + "2020-01-02 18:30", + "2020-01-02 18:40", + "2020-01-02 18:50", + "2020-01-02 19:00", + "2020-01-02 19:10", + "2020-01-02 19:20", + "2020-01-02 19:30", + "2020-01-02 19:40", + "2020-01-02 19:50", + "2020-01-02 20:00", + "2020-01-02 20:10", + "2020-01-02 20:20", + "2020-01-02 20:30", + "2020-01-02 20:40", + "2020-01-02 20:50", + "2020-01-02 21:00", + "2020-01-02 21:10", + "2020-01-02 21:20", + "2020-01-02 21:30", + "2020-01-02 21:40", + "2020-01-02 21:50", + "2020-01-02 22:00", + "2020-01-02 22:10", + "2020-01-02 22:20", + "2020-01-02 22:30", + "2020-01-02 22:40", + "2020-01-02 22:50", + "2020-01-02 23:00", + "2020-01-02 23:10", + "2020-01-02 23:20", + "2020-01-02 23:30", + "2020-01-02 23:40", + "2020-01-02 23:50", + "2020-01-03 00:00", + "2020-01-03 00:10", + "2020-01-03 00:20", + "2020-01-03 00:30", + "2020-01-03 00:40", + "2020-01-03 00:50", + "2020-01-03 01:00", + "2020-01-03 01:10", + "2020-01-03 01:20", + "2020-01-03 01:30", + "2020-01-03 01:40", + "2020-01-03 01:50", + "2020-01-03 02:00", + "2020-01-03 02:10", + "2020-01-03 02:20", + "2020-01-03 02:30", + "2020-01-03 02:40", + "2020-01-03 02:50", + "2020-01-03 03:00", + "2020-01-03 03:10", + "2020-01-03 03:20", + "2020-01-03 03:30", + "2020-01-03 03:40", + "2020-01-03 03:50", + "2020-01-03 04:00", + "2020-01-03 04:10", + "2020-01-03 04:20", + "2020-01-03 04:30", + "2020-01-03 04:40", + "2020-01-03 04:50", + "2020-01-03 05:00", + "2020-01-03 05:10", + "2020-01-03 05:20", + "2020-01-03 05:30", + "2020-01-03 05:40", + "2020-01-03 05:50", + "2020-01-03 06:00", + "2020-01-03 06:10", + "2020-01-03 06:20", + "2020-01-03 06:30", + "2020-01-03 06:40", + "2020-01-03 06:50", + "2020-01-03 07:00", + "2020-01-03 07:10", + "2020-01-03 07:20", + "2020-01-03 07:30", + "2020-01-03 07:40", + "2020-01-03 07:50", + "2020-01-03 08:00", + "2020-01-03 08:10", + "2020-01-03 08:20", + "2020-01-03 08:30", + "2020-01-03 08:40", + "2020-01-03 08:50", + "2020-01-03 09:00", + "2020-01-03 09:10", + "2020-01-03 09:20", + "2020-01-03 09:30", + "2020-01-03 09:40", + "2020-01-03 09:50", + + "2020-01-02 17:30", + "2020-01-03 00:00", + "2020-01-03 09:30" + ], + "y": [ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + + 1, 2, 3 + ], + "xbins": { + "start": "2020-01-02 16:55", + "end": "2020-01-03 09:55", + "size": 600000 + }, + "ybins": { + "start": 0.5, + "end": 3.5, + "size": 1 + } + }, { + "type": "histogram2d", + "x": [ + "2020-01-02 17:00", + "2020-01-02 17:10", + "2020-01-02 17:20", + "2020-01-02 17:30", + "2020-01-02 17:40", + "2020-01-02 17:50", + "2020-01-02 18:00", + "2020-01-02 18:10", + "2020-01-02 18:20", + "2020-01-02 18:30", + "2020-01-02 18:40", + "2020-01-02 18:50", + "2020-01-02 19:00", + "2020-01-02 19:10", + "2020-01-02 19:20", + "2020-01-02 19:30", + "2020-01-02 19:40", + "2020-01-02 19:50", + "2020-01-02 20:00", + "2020-01-02 20:10", + "2020-01-02 20:20", + "2020-01-02 20:30", + "2020-01-02 20:40", + "2020-01-02 20:50", + "2020-01-02 21:00", + "2020-01-02 21:10", + "2020-01-02 21:20", + "2020-01-02 21:30", + "2020-01-02 21:40", + "2020-01-02 21:50", + "2020-01-02 22:00", + "2020-01-02 22:10", + "2020-01-02 22:20", + "2020-01-02 22:30", + "2020-01-02 22:40", + "2020-01-02 22:50", + "2020-01-02 23:00", + "2020-01-02 23:10", + "2020-01-02 23:20", + "2020-01-02 23:30", + "2020-01-02 23:40", + "2020-01-02 23:50", + "2020-01-03 00:00", + "2020-01-03 00:10", + "2020-01-03 00:20", + "2020-01-03 00:30", + "2020-01-03 00:40", + "2020-01-03 00:50", + "2020-01-03 01:00", + "2020-01-03 01:10", + "2020-01-03 01:20", + "2020-01-03 01:30", + "2020-01-03 01:40", + "2020-01-03 01:50", + "2020-01-03 02:00", + "2020-01-03 02:10", + "2020-01-03 02:20", + "2020-01-03 02:30", + "2020-01-03 02:40", + "2020-01-03 02:50", + "2020-01-03 03:00", + "2020-01-03 03:10", + "2020-01-03 03:20", + "2020-01-03 03:30", + "2020-01-03 03:40", + "2020-01-03 03:50", + "2020-01-03 04:00", + "2020-01-03 04:10", + "2020-01-03 04:20", + "2020-01-03 04:30", + "2020-01-03 04:40", + "2020-01-03 04:50", + "2020-01-03 05:00", + "2020-01-03 05:10", + "2020-01-03 05:20", + "2020-01-03 05:30", + "2020-01-03 05:40", + "2020-01-03 05:50", + "2020-01-03 06:00", + "2020-01-03 06:10", + "2020-01-03 06:20", + "2020-01-03 06:30", + "2020-01-03 06:40", + "2020-01-03 06:50", + "2020-01-03 07:00", + "2020-01-03 07:10", + "2020-01-03 07:20", + "2020-01-03 07:30", + "2020-01-03 07:40", + "2020-01-03 07:50", + "2020-01-03 08:00", + "2020-01-03 08:10", + "2020-01-03 08:20", + "2020-01-03 08:30", + "2020-01-03 08:40", + "2020-01-03 08:50", + "2020-01-03 09:00", + "2020-01-03 09:10", + "2020-01-03 09:20", + "2020-01-03 09:30", + "2020-01-03 09:40", + "2020-01-03 09:50", + + "2020-01-02 17:00", + "2020-01-02 17:10", + "2020-01-02 17:20", + "2020-01-02 17:30", + "2020-01-02 17:40", + "2020-01-02 17:50", + "2020-01-02 18:00", + "2020-01-02 18:10", + "2020-01-02 18:20", + "2020-01-02 18:30", + "2020-01-02 18:40", + "2020-01-02 18:50", + "2020-01-02 19:00", + "2020-01-02 19:10", + "2020-01-02 19:20", + "2020-01-02 19:30", + "2020-01-02 19:40", + "2020-01-02 19:50", + "2020-01-02 20:00", + "2020-01-02 20:10", + "2020-01-02 20:20", + "2020-01-02 20:30", + "2020-01-02 20:40", + "2020-01-02 20:50", + "2020-01-02 21:00", + "2020-01-02 21:10", + "2020-01-02 21:20", + "2020-01-02 21:30", + "2020-01-02 21:40", + "2020-01-02 21:50", + "2020-01-02 22:00", + "2020-01-02 22:10", + "2020-01-02 22:20", + "2020-01-02 22:30", + "2020-01-02 22:40", + "2020-01-02 22:50", + "2020-01-02 23:00", + "2020-01-02 23:10", + "2020-01-02 23:20", + "2020-01-02 23:30", + "2020-01-02 23:40", + "2020-01-02 23:50", + "2020-01-03 00:00", + "2020-01-03 00:10", + "2020-01-03 00:20", + "2020-01-03 00:30", + "2020-01-03 00:40", + "2020-01-03 00:50", + "2020-01-03 01:00", + "2020-01-03 01:10", + "2020-01-03 01:20", + "2020-01-03 01:30", + "2020-01-03 01:40", + "2020-01-03 01:50", + "2020-01-03 02:00", + "2020-01-03 02:10", + "2020-01-03 02:20", + "2020-01-03 02:30", + "2020-01-03 02:40", + "2020-01-03 02:50", + "2020-01-03 03:00", + "2020-01-03 03:10", + "2020-01-03 03:20", + "2020-01-03 03:30", + "2020-01-03 03:40", + "2020-01-03 03:50", + "2020-01-03 04:00", + "2020-01-03 04:10", + "2020-01-03 04:20", + "2020-01-03 04:30", + "2020-01-03 04:40", + "2020-01-03 04:50", + "2020-01-03 05:00", + "2020-01-03 05:10", + "2020-01-03 05:20", + "2020-01-03 05:30", + "2020-01-03 05:40", + "2020-01-03 05:50", + "2020-01-03 06:00", + "2020-01-03 06:10", + "2020-01-03 06:20", + "2020-01-03 06:30", + "2020-01-03 06:40", + "2020-01-03 06:50", + "2020-01-03 07:00", + "2020-01-03 07:10", + "2020-01-03 07:20", + "2020-01-03 07:30", + "2020-01-03 07:40", + "2020-01-03 07:50", + "2020-01-03 08:00", + "2020-01-03 08:10", + "2020-01-03 08:20", + "2020-01-03 08:30", + "2020-01-03 08:40", + "2020-01-03 08:50", + "2020-01-03 09:00", + "2020-01-03 09:10", + "2020-01-03 09:20", + "2020-01-03 09:30", + "2020-01-03 09:40", + "2020-01-03 09:50", + + "2020-01-02 17:30", + "2020-01-03 00:00", + "2020-01-03 09:30" + ], + "y": [ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + + 1, 2, 3 + ], + "xbins": { + "start": "2020-01-02 16:55", + "end": "2020-01-03 09:55", + "size": 600000 + }, + "ybins": { + "start": 0.5, + "end": 3.5, + "size": 1 + }, + "xaxis": "x2", + "yaxis": "y2" + }], + "layout": { + "width": 1000, + "height": 400, + "title": { + "text": "histogram2d with (left) / without (right) rangebreaks" + }, + + "yaxis2": { + "anchor": "x2" + }, + + "xaxis2": { + "domain": [0.55, 1], + "anchor": "y2" + }, + + "xaxis": { + "domain": [0, 0.45], + "range": [ + "2020-01-02 16:55", + "2020-01-03 09:55" + ], + "rangebreaks": [{ + "pattern": "hour", + "bounds": [18, 9] + }] + } + } +} diff --git a/test/jasmine/tests/mock_test.js b/test/jasmine/tests/mock_test.js index b0d96b8e281..0685d8f6001 100644 --- a/test/jasmine/tests/mock_test.js +++ b/test/jasmine/tests/mock_test.js @@ -58,6 +58,7 @@ var list = [ 'axes_breaks-gridlines', 'axes_breaks-heatmap1d', 'axes_breaks-heatmap2d', + 'axes_breaks-histogram2d', 'axes_breaks-night_autorange-reversed', 'axes_breaks-rangeslider', 'axes_breaks-reversed-without-pattern', @@ -1092,6 +1093,7 @@ figs['axes_breaks-finance'] = require('@mocks/axes_breaks-finance'); figs['axes_breaks-gridlines'] = require('@mocks/axes_breaks-gridlines'); figs['axes_breaks-heatmap1d'] = require('@mocks/axes_breaks-heatmap1d'); figs['axes_breaks-heatmap2d'] = require('@mocks/axes_breaks-heatmap2d'); +figs['axes_breaks-histogram2d'] = require('@mocks/axes_breaks-histogram2d'); figs['axes_breaks-night_autorange-reversed'] = require('@mocks/axes_breaks-night_autorange-reversed'); figs['axes_breaks-rangeslider'] = require('@mocks/axes_breaks-rangeslider'); figs['axes_breaks-reversed-without-pattern'] = require('@mocks/axes_breaks-reversed-without-pattern'); From 948dc2aaea27f2386afe26eaadd63636e993ff02 Mon Sep 17 00:00:00 2001 From: archmoj Date: Wed, 13 May 2020 09:49:58 -0400 Subject: [PATCH 2/2] fix issue 4825 - histogram2d with rangebreaks --- src/traces/heatmap/calc.js | 28 +++++++++++------- .../baselines/axes_breaks-histogram2d.png | Bin 33097 -> 32816 bytes 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/traces/heatmap/calc.js b/src/traces/heatmap/calc.js index ac92da9dd86..0f8f0c50f95 100644 --- a/src/traces/heatmap/calc.js +++ b/src/traces/heatmap/calc.js @@ -71,19 +71,25 @@ module.exports = function calc(gd, trace) { dy = trace.dy; z = clean2dArray(zIn, trace, xa, ya); + } - if(xa.rangebreaks || ya.rangebreaks) { - z = dropZonBreaks(z, trace); - x = trace._x = skipBreaks(trace._x); - y = trace._y = skipBreaks(trace._y); - } + if(xa.rangebreaks || ya.rangebreaks) { + z = dropZonBreaks(x, y, z); + + if(!isHist) { + x = skipBreaks(x); + y = skipBreaks(y); - if(isContour || trace.connectgaps) { - trace._emptypoints = findEmpties(z); - interp2d(z, trace._emptypoints); + trace._x = x; + trace._y = y; } } + if(!isHist && (isContour || trace.connectgaps)) { + trace._emptypoints = findEmpties(z); + interp2d(z, trace._emptypoints); + } + function noZsmooth(msg) { zsmooth = trace._input.zsmooth = trace.zsmooth = false; Lib.warn('cannot use zsmooth: "fast": ' + msg); @@ -174,15 +180,15 @@ function skipBreaks(a) { return b; } -function dropZonBreaks(z, trace) { +function dropZonBreaks(x, y, z) { var newZ = []; var k = -1; for(var i = 0; i < z.length; i++) { - if(trace._y[i] === BADNUM) continue; + if(y[i] === BADNUM) continue; k++; newZ[k] = []; for(var j = 0; j < z[i].length; j++) { - if(trace._x[j] === BADNUM) continue; + if(x[j] === BADNUM) continue; newZ[k].push(z[i][j]); } diff --git a/test/image/baselines/axes_breaks-histogram2d.png b/test/image/baselines/axes_breaks-histogram2d.png index 8b35bf255178d5e6ab5f440636511b1fac9553bb..a822bcc85288d582c137cc6c68c0aa1051732cfa 100644 GIT binary patch literal 32816 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 literal 33097 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