From 3b76488373fe4d763a60d0df4c85ad400ea68aec Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Mon, 22 Aug 2022 21:05:27 +0300 Subject: [PATCH] Refine logarithmic scaling / tick generation (#9166) * Refine logarithmic scaling / tick generation * Disable autoSkip on reverese test * Reduce ticks, fix min --- src/core/core.ticks.js | 4 +- src/scales/scale.logarithmic.js | 91 ++++++++++++------ .../fixtures/scale.logarithmic/large-range.js | 31 ++++++ .../scale.logarithmic/large-range.png | Bin 0 -> 21903 bytes .../large-values-small-range.js | 31 ++++++ .../large-values-small-range.png | Bin 0 -> 31626 bytes test/fixtures/scale.logarithmic/med-range.js | 31 ++++++ test/fixtures/scale.logarithmic/med-range.png | Bin 0 -> 23657 bytes test/fixtures/scale.logarithmic/min-max.js | 33 +++++++ test/fixtures/scale.logarithmic/min-max.png | Bin 0 -> 22155 bytes .../fixtures/scale.logarithmic/small-range.js | 31 ++++++ .../scale.logarithmic/small-range.png | Bin 0 -> 22598 bytes test/specs/core.ticks.tests.js | 6 +- test/specs/scale.logarithmic.tests.js | 35 ++++--- 14 files changed, 243 insertions(+), 50 deletions(-) create mode 100644 test/fixtures/scale.logarithmic/large-range.js create mode 100644 test/fixtures/scale.logarithmic/large-range.png create mode 100644 test/fixtures/scale.logarithmic/large-values-small-range.js create mode 100644 test/fixtures/scale.logarithmic/large-values-small-range.png create mode 100644 test/fixtures/scale.logarithmic/med-range.js create mode 100644 test/fixtures/scale.logarithmic/med-range.png create mode 100644 test/fixtures/scale.logarithmic/min-max.js create mode 100644 test/fixtures/scale.logarithmic/min-max.png create mode 100644 test/fixtures/scale.logarithmic/small-range.js create mode 100644 test/fixtures/scale.logarithmic/small-range.png diff --git a/src/core/core.ticks.js b/src/core/core.ticks.js index 333a7306e..8050f574b 100644 --- a/src/core/core.ticks.js +++ b/src/core/core.ticks.js @@ -66,8 +66,8 @@ const formatters = { if (tickValue === 0) { return '0'; } - const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue)))); - if (remain === 1 || remain === 2 || remain === 5) { + const remain = ticks[index].significand || (tickValue / (Math.pow(10, Math.floor(log10(tickValue))))); + if ([1, 2, 3, 5, 10, 15].includes(remain) || index > 0.8 * ticks.length) { return formatters.numeric.call(this, tickValue, index, ticks); } return ''; diff --git a/src/scales/scale.logarithmic.js b/src/scales/scale.logarithmic.js index cbf33c6ed..8f32807e7 100644 --- a/src/scales/scale.logarithmic.js +++ b/src/scales/scale.logarithmic.js @@ -5,41 +5,68 @@ import Scale from '../core/core.scale'; import LinearScaleBase from './scale.linearbase'; import Ticks from '../core/core.ticks'; +const log10Floor = v => Math.floor(log10(v)); +const changeExponent = (v, m) => Math.pow(10, log10Floor(v) + m); + function isMajor(tickVal) { - const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal)))); + const remain = tickVal / (Math.pow(10, log10Floor(tickVal))); return remain === 1; } +function steps(min, max, rangeExp) { + const rangeStep = Math.pow(10, rangeExp); + const start = Math.floor(min / rangeStep); + const end = Math.ceil(max / rangeStep); + return end - start; +} + +function startExp(min, max) { + const range = max - min; + let rangeExp = log10Floor(range); + while (steps(min, max, rangeExp) > 10) { + rangeExp++; + } + while (steps(min, max, rangeExp) < 10) { + rangeExp--; + } + return Math.min(rangeExp, log10Floor(min)); +} + + /** * Generate a set of logarithmic ticks * @param generationOptions the options used to generate the ticks * @param dataRange the range of the data * @returns {object[]} array of tick objects */ -function generateTicks(generationOptions, dataRange) { - const endExp = Math.floor(log10(dataRange.max)); - const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp)); +function generateTicks(generationOptions, {min, max}) { + min = finiteOrDefault(generationOptions.min, min); const ticks = []; - let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min)))); - let exp = Math.floor(log10(tickVal)); - let significand = Math.floor(tickVal / Math.pow(10, exp)); + const minExp = log10Floor(min); + let exp = startExp(min, max); let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1; - - do { - ticks.push({value: tickVal, major: isMajor(tickVal)}); - - ++significand; - if (significand === 10) { - significand = 1; - ++exp; + const stepSize = Math.pow(10, exp); + const base = minExp > exp ? Math.pow(10, minExp) : 0; + const start = Math.round((min - base) * precision) / precision; + const offset = Math.floor((min - base) / stepSize / 10) * stepSize * 10; + let significand = Math.floor((start - offset) / Math.pow(10, exp)); + let value = finiteOrDefault(generationOptions.min, Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision); + while (value < max) { + ticks.push({value, major: isMajor(value), significand}); + if (significand >= 10) { + significand = significand < 15 ? 15 : 20; + } else { + significand++; + } + if (significand >= 20) { + exp++; + significand = 2; precision = exp >= 0 ? 1 : precision; } - - tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision; - } while (exp < endExp || (exp === endExp && significand < endSignificand)); - - const lastTick = finiteOrDefault(generationOptions.max, tickVal); - ticks.push({value: lastTick, major: isMajor(tickVal)}); + value = Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision; + } + const lastTick = finiteOrDefault(generationOptions.max, value); + ticks.push({value: lastTick, major: isMajor(lastTick), significand}); return ticks; } @@ -92,6 +119,12 @@ export default class LogarithmicScale extends Scale { this._zero = true; } + // if data has `0` in it or `beginAtZero` is true, min (non zero) value is at bottom + // of scale, and it does not equal suggestedMin, lower the min bound by one exp. + if (this._zero && this.min !== this._suggestedMin && !isFinite(this._userMin)) { + this.min = min === changeExponent(this.min, 0) ? changeExponent(this.min, -1) : changeExponent(this.min, 0); + } + this.handleTickRangeOptions(); } @@ -102,28 +135,24 @@ export default class LogarithmicScale extends Scale { const setMin = v => (min = minDefined ? min : v); const setMax = v => (max = maxDefined ? max : v); - const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m); if (min === max) { if (min <= 0) { // includes null setMin(1); setMax(10); } else { - setMin(exp(min, -1)); - setMax(exp(max, +1)); + setMin(changeExponent(min, -1)); + setMax(changeExponent(max, +1)); } } if (min <= 0) { - setMin(exp(max, -1)); + setMin(changeExponent(max, -1)); } if (max <= 0) { - setMax(exp(min, +1)); - } - // if data has `0` in it or `beginAtZero` is true, min (non zero) value is at bottom - // of scale, and it does not equal suggestedMin, lower the min bound by one exp. - if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) { - setMin(exp(min, -1)); + + setMax(changeExponent(min, +1)); } + this.min = min; this.max = max; } diff --git a/test/fixtures/scale.logarithmic/large-range.js b/test/fixtures/scale.logarithmic/large-range.js new file mode 100644 index 000000000..ba123837e --- /dev/null +++ b/test/fixtures/scale.logarithmic/large-range.js @@ -0,0 +1,31 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [{ + backgroundColor: 'red', + borderColor: 'red', + fill: false, + data: [23, 21, 34, 52, 115, 3333, 5116] + }] + }, + options: { + responsive: true, + scales: { + x: { + display: false, + }, + y: { + type: 'logarithmic', + ticks: { + autoSkip: false + } + } + } + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/scale.logarithmic/large-range.png b/test/fixtures/scale.logarithmic/large-range.png new file mode 100644 index 0000000000000000000000000000000000000000..13e4538c1d15190deac322c776ce3565461cc702 GIT binary patch literal 21903 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 literal 0 Hc-jL100001 diff --git a/test/fixtures/scale.logarithmic/large-values-small-range.js b/test/fixtures/scale.logarithmic/large-values-small-range.js new file mode 100644 index 000000000..726d49353 --- /dev/null +++ b/test/fixtures/scale.logarithmic/large-values-small-range.js @@ -0,0 +1,31 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [{ + backgroundColor: 'red', + borderColor: 'red', + fill: false, + data: [5000.002, 5000.012, 5000.01, 5000.03, 5000.04, 5000.004, 5000.032] + }] + }, + options: { + responsive: true, + scales: { + x: { + display: false, + }, + y: { + type: 'logarithmic', + ticks: { + autoSkip: false + } + } + } + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/scale.logarithmic/large-values-small-range.png b/test/fixtures/scale.logarithmic/large-values-small-range.png new file mode 100644 index 0000000000000000000000000000000000000000..47c70393eddaca57709e0a5f5a8ed0599e0da4d8 GIT binary patch literal 31626 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 #*nu)woym{wdpR9~&vyxo-sV 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 YCWVEenoV#j0RB|(YTYSNws`UX0Cle#m;e9( literal 0 Hc-jL100001 diff --git a/test/fixtures/scale.logarithmic/med-range.js b/test/fixtures/scale.logarithmic/med-range.js new file mode 100644 index 000000000..a6191fbb1 --- /dev/null +++ b/test/fixtures/scale.logarithmic/med-range.js @@ -0,0 +1,31 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [{ + backgroundColor: 'red', + borderColor: 'red', + fill: false, + data: [25, 24, 27, 32, 45, 30, 28] + }] + }, + options: { + responsive: true, + scales: { + x: { + display: false, + }, + y: { + type: 'logarithmic', + ticks: { + autoSkip: false + } + } + } + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/scale.logarithmic/med-range.png b/test/fixtures/scale.logarithmic/med-range.png new file mode 100644 index 0000000000000000000000000000000000000000..ed9b5bfa7f5ed54de37c3db5bf5447807654390e GIT binary patch literal 23657 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 literal 0 Hc-jL100001 diff --git a/test/fixtures/scale.logarithmic/min-max.js b/test/fixtures/scale.logarithmic/min-max.js new file mode 100644 index 000000000..ff5771800 --- /dev/null +++ b/test/fixtures/scale.logarithmic/min-max.js @@ -0,0 +1,33 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [{ + backgroundColor: 'red', + borderColor: 'red', + fill: false, + data: [250, 240, 270, 320, 450, 300, 280] + }] + }, + options: { + responsive: true, + scales: { + x: { + display: false, + }, + y: { + type: 'logarithmic', + min: 233, + max: 471, + ticks: { + autoSkip: false + } + } + } + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/scale.logarithmic/min-max.png b/test/fixtures/scale.logarithmic/min-max.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e582f481c4710df12da4833e99bd585c4df590 GIT binary patch literal 22155 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�)2y0^%^ib}~Zala^M_inGrNF=+A|-GZfH zaxS7Lkw&_ZMK1kdSxuxJqz;XIO_F$ZE=WyBIvOaYUCZ;nJ%WD$g`3*0+X;6*9G<|NwRHlIuU2wtas-dD?HYd8d@2e$ zsrZ`kBY}t<=MsH@S>X!15l24rBhQ6Ox1$fXHke^UEyKKYG*qBz_gme!Lh#G0z{)m< z-%rz^^rm&}FsAltZ*7$clri5ie^4JsL@NF*+v$aTr@`zsRq;?sDzLwiw)8RREUz)- zOn&yAxym0)MIg`@Nqa`fAU9XY`H1@B*g_z9jMnBy$N(Q`v^XPw5QxnZo-xJ}b`(KZ zv&A3nIjvWh)AN^D|&9-BmpB6v3MsVYi|w8^<$szWyWNKo>|MY2)JyMj5D#jBWU)4h@zs26!n zegH35a_c@O5|R1B@(xT%I(;qwbT{cNmnf9O?0rCx&_&t|MPN@w0D1d-jn7QL6`{C8 z*#{;0fL7`YXqnHHx4tFTZP92pD&po&C zv$c~C{tp~K9jSOL`g1A(h-fi}97IxSh>fU-*~@m}!BNAvP}x<Ob7n3rvp4;_0w)!e;TC=9ngU=32 zIUjzwnf?)9x_={pM~Dn|BO0rD2gnob^dnVzpr%yo$u{j5c zG8Zua#sqH1zr|@-L&M1lEiD6!-<+ZkvPYwdfvlr7n<|oKC|uJ$O{f6*5E3{JbGp0Z zVKcBmyg%M@a>N+JHa%~4Sq_R3?QX|@gVC64r65Tr{gA*kMaqW$h5Ly)0C$FTTVx@h z1-zB>?6LyLm;u4uO*l3A^RUR!qoQs!ocw8u@h$9h&+C6$?_N3JssVh?0V}HzV;sV4 z2LRhJ^|=0>&VDI8L5E->8kjO&u{VRK?MkB?r|e?d`Tz6+0D$J?tOGL_6E2x7|Mr77 zScP>+x!(?h-qn6%l?8Z*X7`I`^ZP(fSzqt`00fE?A$(2G%5hP0RHu$J*5VnGTMs3S zZQvzHY_OFn{KGTA4bb$>!deo5t^>)a`%?)>pXJ}_QLO>*`qh~Rakp}daG-RR{V44X8Lr%N!-zYtVNfh^W?9umS#^c zFO^fZn=8-Ve^5uA$>Dxw4(z*=Lv$0ZrH2fCKHbYM?_24rfG3AiUtKWAdaTU{Cd%)B z9K}gIWtJQF2v@aT*SoRs$>(xH>Ld?j3OlzNX+wRVRnwEf9C{lw8qYL6g*$RjZg^d- z7`gkZtlcC$jP)Z*4g6!5utk3uYl|yvb$z<{Ppe^@gYKb$s~UC7gi_*##HB?0yF3Sb@u6qvWHJ5F!*y4*reBo?{P}i>>xOFipf|`B z( zANZr+s#ddbv~F|Jl(`zlN;aCvsaR|eB$;xS=EK6}o zt1u{`U78&zU)V)qncx?Hex9k@m}5w;Fzf1kyX|vJ_R|Njx--<-@?rDeyN|Ng{>{j9 z5EVw#|4Q%4q^rMR!2P=|d_QJ5f5~tBJ`T@r)h)_qy>rcB!yB)m7 zRw=9_Nltz{$!MM*gEw0)y^q|H60*{Fc(GAh`Ay?L;bE)8%OYM&YAUczBW6n#24|ZJ zJPB~_@_1LRxpHjG%#?V@ZVK`Et^;e)PlKQR&{;u8>WfDAmVjCC^>;W114g66gW$n% zx)(A<$Jb+|0LEITR?pWt*o{kSdRUKCGsQSztS9MDp#rHnf^~N<1<|xlNx|y(89igk zEOJ)vuwilxx-d|@dK+pC^MBaRT0BMy2fVLqDuyxFdnm%8jT_aQpQ3k_)7wcmUsaAj z4G&`TkcS066`o~ljgQq!!hJ+?qhT%KWo4V`3u~HB*p@iXU!T$WE)cuWDCAs;E8l=I zBxknPmz4&`DAaqh>4mR9ihWJdF6}r1V?%S(D<{%AY++U7V1d_B+|5XHPK?tWUHy@) zEtT#;C-RM`Nu;C%_ zVgKJ_?8!9m66gKWXRVKL0E+{VyTH7~q>(XymW#tujpOC^1uk9bKIf@YL}9Mi^Deiy zY`$j0V1H&OIseEYV=n+3PMu@st^66D-;me>Ioq%vlQCL9N_?#MCtV+EC^91j z>uxSIaD|h+0AKzFoT(FsXbLukUyssG+tY4RN2HD7mLzZWHqqYyJXy%zgj!OCISBxB z7(jBHB(ci97b4!FUXTie<&_3MR>uS(^5+aO@BSM-q>>Qm0)*P#pKmwQGYhDAL!CKh z`ZPXIFud4;44o-(f}tFc%IDTsUEqv^-86%19LLDrviJps5`xw(;&esQiz23vG&ZI(`eehzFG18fD2_@TN1NF ztO=D&zSd`LQM}T%><&=GroIl+K@x}}P{=Cn$;P2CY~ZoOmA2#jSDpc5U@>@z!Mi5# zMgzCosJs{6>Y4UUYrAkk<)%1RnIFqBlN>okzrwn?KYPv7V;qmV%D5}l z>^cC!p31M=uhw$hH~Xvy|P>OW72Fwu(cwLX^w8FKnMw@YT5KO?(=Crn*n!`>vja@>pz7*R_vZP}iSJw2;bhItuxrH%$ z@>3P%WZq|bu{u}t!ALpY`5J)W#o_u=e+Wp-$mU)B%a`r9I%)H79-m)%bLQW(FQXJ( zA8*8v_+Uzfl#qoXVmt9Om(%K{JjeQaH$g2ODRyi|Qp1R`CKfdgtJhL)vhwCoFJHg` z*MmJY%f6=l4m&GyI=N*N)dHCu>f5h z<5HLk>oOyMn<->5h~#e?Dc65l0l=**SR?q2iipSOBP0d>sp+F#{~T@eNK+Bt%KPMO z`)M`IAF)~6iE`-V($ldEK%&P8Eu2LXZF%k`g4GpY;$9EdVR+8 zp7-NF->CPZD|E9q?vv-oWtKa$^AJ+LRyjo3SS*|zK{PWg>))v=(b1hCUuePl=CvhJ z)0Gg@Wo!lUxyM$izy*zzv)Zd!TP`ZU=mJwe4XJczd{gY~2v)V}F*Er88Sgv_FQzVkWoDEf`1$8aD&CjA77G%G z+Qs;g!2M_8v1yf-S^P%fL>fOeNS5ZYrZ1$?GbptU`iG)zQ;Q=h=pF83bdUNF7fjpfJN=9gr={3#n@%D-LfC zrD8*spMy;7F#MGWa>b8e7^)eURLM#F`R(36aX1eYHxqVs2fr4T#^{uLLER;+t|g%* z>*Etm-V&R$mN)?M@DBN|N61ALkah&Ogk{h0K(&kXZ@wi7331XOkI=sP+(;%CrCQoVwvg$=-2L4SajnM73X%`u^vRFjeq;)uyp|P*ZcHS zRp1=QC|kVnkLU+MPM=JO!QQIdAg*t1qSd67%KQ@|1iSYHjoL%<;SwD@{>h(-(XCJ% z+NrSa#wl9E{Yrd&@H~g{@rbIJU3D@tq&0+1h4pwj6Z@V2^nZK6q`DC2n1H^25UZip`ni`bQ-xT+=FslX%@!!!n~9Tc#!_tv zbUAz=Lh2!b;GW55L%1fOZYL3-hg5GdD28G$7gXxn15ztr;14OP?;O)zp`r!f!J7+& zB7^>v8cyQD)5N<;xN|7(6?75TZ~aL+=I>byzHOxybEmD@dm$>|M7R8QTU8a*b;7S+ zA=JAsJ!1dKnXjbc*6D7{eA878i*VI`#v_ zjm;U&KGPw-ss7vGvN}!(wll>#TZUxAE-L=zwi;oLzoL~EY4adYuT)_hX^z2==A1- zr#wg2St?x*|A&v|iLHz8b`eG0@T0EzAE+x?GmP6#vxZkw2LxRn;~ z>zflV!-wR4hnllI(^qGD6i~Mr%{NGXHH-68F3*@Uq228Q8KlR@28L-4Q}^_?9_7P~ zSmKIo9A&3)rYw~gXFmysu5Z*zzhf6Ysa0XE{u^qRY&j=wEOi!v-e4OoTT0J&H$7V- zeB_9?Is5u5*3aZDLV?!?h5NGCV#G8<2yuRDczB3nH^~ade0q05c{$l-yY+!gJ>2s< z!8r8Hg|CkPo+i12RDYedtK>eprGuaHdLe0y4J>Zx6Fi7P0%$6sw%wEMv|54$0Sy6=jDD5`lH>x2Xr`)Txe6uv~zow*D zkjh{P;n$JeD=@jcjp;WQww5kEYK}Y$%ewhp@GbJ(KX^h!SgFgTBiQ>Ho7`-~cIA0< z$PznllD77)I5+U%*Bw{MOtlzZwv+4G_s zs>~G@2PWY%QQV0zXW8{!uOw})!)*pi6{i66;GW@++o&YFT-x7;l+8v+8N@%gkl`!G z^@aJc=7w8}vRM_E4MuN)pg>Z({gI3fl}i4H&SlN5l2!>2$xTGIJ1{rmuFDBKZOR z)5W*&Wh62MbgkAnzv8(ibWi^}(aNB8v# zS14t%63I;M>`2*bfaj`v@^Q!*N-1w`T3-HV)9b#VDiJ9&@W#$e2nO6R2t?^%hb~;aG6M8MlYu<)X%buI`W9~VYeQW(`|1&#pXdZ(rCPnBf_2kWyw-l?Q{i)x>=rl zw>U>aZHC8P^4psUp;zwPkBB{wvkMG+2O`53W!JiAWDYb?DeHWhDgD(%Bo1 zoj(B`yYh0l8fDbCvjj2KZt};oCTq-L2C3BavScPwFFV+S@5bG0Gq?bI#Z$c8E}gi~g7u z+neYnIw}gopaNNslfOi5;Bq}{gH!1h?zekgJ0fF2QmQmfuj3-|^{H(1=V!P+b9cRv z*`&1cC@IX^IiDWZQ6bCPE?Tp;)D`>tLR>JGCiTebpcP{zY;7z_<|(YukszjKk7N8!4YvaYu*rKTcEOirvRY*MRJJxg-H724W$Ly)mZ(t? zhYkqon)CsupUXL6^51A?_D#Am!Bs;TDyy5)tTQb*w>TWKI+T3)mUnItEOaqGoiG}G z$ZsQg4jy??O!Gt~|{caUA6nW%G;g_XG0! zM!s(Sd9aGHM2D-JjNc5_w`7fo$F|PNTxvD3=Nslpk&;RMz)u(qE9U@ZiM3i&EzjEI5LGr=YN%t(Mg3FnLfnJRnK+&O z?t!il3Zv)na=kXGZe{@#O zP`EiYI9$ewN*%sc?GgFsAy&t^A$f@|l#c9&S~M4K(x+w5Gk9*q_^DS$KbO65Ag;m$!w?GbpcE@PpZksanFz<;HP zXrM;1=Odi5ZwccG!WD!%QA zX6QVOQt0RYY%+=sGk+kY73uf#Z?dtd0tji?6LQp_!ps@j)?mO!>aX86O<0<9De{dY zM?KZQ@Fvh29{Xy|;sF0b%jR@Zm=lIS(wK@jri;^wZ}x1Z!I{S$THXtq%rpRsn(D}A zlHmy_$2a&VFr`$srY}6gokE~@A#4*5dpn5t4F^p73oI$IC3`5s_G_k^$bCbM1bv>o z=5Xdui=s>Hc#2>(vRw|}*7R<3>ri&FWE$H80>P<&aZ1%$2xkA(Y%I`3${f#g^x#2(#1=H<98(pruJ?WGjO|(LC)N z&9sfA3K3|Bh+@=w(iojZSvSRmN|HJc3c>PHbx>(SBu-P-Cv7b?r8Na!jx50VuHD(H z)vhyAyH;Ayb$8C#GgJ}Qu5vG|2c8fRzpF zYg+Vg-XG4x>UmzhGoD(A$hejG%NTKlQ&gNM#l;)Y(je;&IKNRkk){^OT#b&K-1-i0 zkQj`+^S~M=b6!}`P!(CoH;eEcH2nl)B$U~D3#hCnO9l6K6>+x2gb8(?%7 zPzD1}If?JuJn1zYSEls6G>U>{`8Y&pjxJp&4waQ-UP}+v9VzV}%R*#0Es7noMW7pq zT&8i|?O{blFxhARaB_HkLEV-BE_+sux(B-%b@#$GMc9S0Zu~7lb-UdGm98MMV)r?* zTP2|sxv0wbeQRHlD{t&S_rkgsUSq#UHyNRDj_qQ5%Moa(97s$Of0gLKEvpLW5JYm{ zg;C&%%6oqA!bJP*n`O^O;6z>^&&hAM{e9+xF2jTy=6iA&Ny!4H8^J@vDs!zRm-rJY z?iH7yW8o`ZH@>3)-%lT*cLMJm#$l8J9BJTr(~+}HS2sfpDFnL9!Oo=|M8;IsFAKyY zpa@^+CfQq%A9JN(mlU< z>pH3OBov@^Lp8RKgEN7jgBocK5yG{0jTC$%<;u&lA<^$D3+6}IUcz3UG@CHWxDAn5 z7i~sm33RjMfFTvHMn8<7ieu{iRzj-wdsO6raphDclu1RXFNsW-n+p=RjJGdB6OW%} zXRKlvvmZ>K4QtS0m{49)J^)Pq6Q5XQm56$;{^3s!hY19F)gB=Pnyo(UX1D4z z%NxX?P+Qt{;BC|HEL9={`PfZaYKW+C!;`vN&V=ndoGN%ifZdLTYEI#2Vd+$MOpni@ zI!>ZZOU!yp4N!)L{s$8a#64kkhFirUeEJ)lB<4HjAZM7qkk-qJ(hN@GvC{>&O`$wn z$F}d>`swv71w9T|YiedLvItf;V0QnHq?rvowvEfc{Vm}4JL$5SB7qFQx~O-H*3g~n z)`K8JhEsn1LsTRBiXWErhttcotmAQVNWE}RVeBsECgyv;*uiQ^X7atC33re(u^y!I zktf;bkBJzIkI^$LxQJ=E5R!UzE*WgFUxhF2Q|)t^m}rT^{c{z7xC3dc;oB}Ywy?P< z39N}M9KjUl!|u7}cEMo6I#4e_>)U@wVkqu)SaHJOa@ce7h^F6*2I$gLnKhOEQ1%c^ z_)}mf?IV*Hr1W2kn@a)oF(poovtCq1tX|87qA$h>exqU{jRng^1l?7ZTkqk~U08*` zgc;3uDlYo5i_X9qECHbbIo13(U6Agxpxd=jGtGcGoGeSUy~msykj378ry&=u0_hLB zFR=V&s%DU5J0s^`HDwiu9O`V8xXYhNL|Uq4Af%S9ULt?+srL$1Ho?aY7MPS3zZ#C#o4WgC0`kp94_)9M0P^^a5Vrar?A@@ z?XqK3`ne27pqa{6`7!%c6C7feA0&^ex1yh2fvaro4Ga`a0g8tDjm&V?B7OYocFHr$ zE{^Mzej2Ioi)9}$_ghdi=&BNKO-%}~zPnc~n4ZM6y}9t{<@QX*V5USjtI7k)8QHA6 z99<-^H0YYvHs=b2;-7%{%<%dn&D+p^87OPmd#|D$0*ZKbVNw42XI!tcvRQY`6YIA- zKK_=h8*dY7UNNYuCB>IO^(OsP~3s=Fmxi1XpgpNN{}cV>Uf2EzNV(m zdUt`$8!rATo8?jF^8l_+tFK z`U=e*n-tW~>3w9Y&+I!M#~7j5H7+{gGuSA= zb3(taLcfM_xbjlzy3|oB{~leI6YHaDKiuN)2RUFuuqy8TviJoR`Wbw3Z0|{G4tCRt z<*|LQpAV{fTQ)u*8n6}`hFKluE%m%C{Y!GjvfCFXjltMYk$KnqmGBE@bdF3R*zjg^ zs6+Ln9B%ub2fw@kbgAs0Wx%R?SSRt1<6PhQ5L|x6TWwE$4j?Pzc*(DWyWwQ#^L@j^ z%Pv=Sbt^Q}*bm%?FzW-^=tPZz2Q_nIV}7-I{V{Q73Li(@{scir5Y(Z4)KUT8)*Kod zp-<^>c|AK#@3)rA%78r8d+17;8-b@s93Hi@vKq80GN6tTIh5w1JhI- zW`11k#AoQf`ISfD0byGHz%LYc9q(cGCCtbOfki8L5>7(iNU zdKTcX81~Y5`$Gy*P$`k!W@tqjzaRlUa7?Q|tcOxZwhhvAIQjQ09MaJDW7;|@eYr$~ zxdH_3P)y-|UCByw3&}eRI#um|;Htbk%5SCm z)9{E(Tz_4WD~0tS`<2gjz=XbQpqQgjYjCctoH9I0>BZh4Tnf~%{J9O%JpiP;{yb?^ zhWh3eIpzW|F9deJx(zYCSPke>z_W#lcFia3GiUaHpTe3)c?L&IZ_9p&>m{sJsNDxn zRw9y3b?SO)B{{rV*uN6H4&LZ^{{#B+gB9#-SQTofgfGH2%B0S-O_gk)= zZj@oSTMD7DzEgVVyi1(;FIaJJ3*EvVhawg|xQpaQv-KqSES8YJiT$$PYq~vF6G}%2 zmL9T_T)Vm0^fhH?ZCps{w}Yb&!}p#0S3Zci5E^(6Df6{5H|AX!)jcj@sS&#auaN$f zAzBx;uMWV3kBm=9t|}d5ouGV^2=0EDaiC<|1g<^I%VOeDj^WKg%kY#ST|V1g_3~ zZeYeFK?-fic>UOb!4Irr?f)Q6J#Y4)XVH@fXF{~mwlCCm)1980|Tv+>c= z{IDdz+&9Bt*!_$hgv-YCFa%ngalrSpJpS)TRiL|NlKS6s%$|J=7jd@Bu)F&DgVsz* z19XcqdEZ5}XL0R8tDIBkCsK8X2Yi>iY;V#@n8kk2VxeY-|G9DY8m7)r%iPuI7sSR4 zLNO%N`)RDEk>IR42}8cBH zoVpRKL>T*bMSkDqm70=_?`v(~ww()DraE*AQlJ(;aLQvivzGeOY)hEo=#6CiRlClM zCLg^Xx$I%O-cS=10=?MhCV-a?io}Lu;;HBr6)44bva2K_ERV`Z@!jQ}1gQ<*@xLt{R^!>GlcoaPoT5jRN9}pJ;z%*Yq@*h5I zKeVKZ4z$18KC?$r0(h7vuC}_7@N?n%1+&HHa_qZ zHop=TyMY5SV;<1I4m1e&kCi;Tv{Vtp&cU>&i+~HM;8_y=1M8cZ1Be)SyNdYLuN@|! z$>XGuE_dS+*1JuwxBJN~_${W%qDcM8?(%)ZC(h{D*P@^?(VLq)iwW^3hZCUpMH@m^ z5K|JiAUr6)&~o`6`GQq~W#G^bni;LrJ{-WUq3Z7G86163x2U_AX$FEU-hzihQI-l` zCaKWEPt^$DQ_me=={c(6Os@B~yOMf(^+IRrx8%Qnr3K<|0A|in<_MXW=E_+8Ymugd zwU9CmF!02KCrP%bmy2C~BT>O0ETc2VrRynVVxh^e_| zkU!(w`j5ivj{+A)`yag~a><^c4Ks%X7L9k88=q906$0`=41oL?l{9GTP*=)MBfsOd zvBIl$%PuwG8t(~Cl3S+TJetK=CroeMZ|@I3(1ZQ;1hmR`%0K*?OG53%ud&%GP4O|$ z7h^bM-^D_BrZ5w139JR_Jbly)f+XkuU4ILj$ZTrnc{k%qQ%y`11z$d)uiBj~vb7Fl zf4`*v9+V^yI_TRGZ2J`ZpYo}qcs+$R^RPM^%h!A?ENY9C`XM;VpQbdJm+Y85#;9MP zGa%mI{E}82j0 z!Ln@H{FTvOFYZjvqXkQW*x`~~{M7F6s5bEwH9XU~_F)jc#7gNs+KgJm(LPT%a{LbB z`<|Q|mn3T+#hs7QukTvt(J3Ig4qwQQC`vmQ8B%a{6adEHuV-dF zB<*5N)`E!z5cVIH27Ppc{hYBu1jkVn|HEvKVZqQ!YSLNZ)-JlcDBkpZQ2HgwF-MGZ z`Rb0{deS`!ecJn!w)ZNGRN2}-X}5M-h$2mG2Q8{*CzE$>hV)vE&37-{CDUevL47TvMSfD>Yx%S!!igxn668sCi_q zrL($)@@%S+3sc5`fDgWb=QD47@Q)poNUT%(HBHtD+MToBPsTQopjvA6g3}^kes15^ z&1$!Dm4}4nS{bY*gqIx|2)}cG&73j(CG|QdlxsBwyv=CHVGz9ZKm*6thI0QncA83q za*@Db`vVO~N7kYRT#-Kuj1^OBKSY|&&g(p$)U0-Qa#*xWJr{9XI3Z*TH4dplk!WNi zGIAq1mK-yVlZblYzz`9eYR0pyQ?0~{o)T5km{FK7r*?hEN4kVBHPXJ z8YY=?bwxmPy^SuxDrKLT)i&Qg8|RcJ#^NybJFKd(CN7fs)hYnVP@CrBqX?rzv{4D3 z2_3&Bjcx-mkHWIvmbMrI{Y!ylT*}O-+zi|@=ht4eEkN1jFDo{lvGvuV1eeRg^cK=? z5oL+>lgu3(qRO!RHKz(YMFa-FiJleph6`ieRCV$lR2%5Gqk`#QZ3Y-ET^&k{lLVHtA}f80~U%QGqff z@#9{NXU}B~D*A?Ql@%DaCp*n)Ilkh|WhH!UM&RQ>UXPJa-*mi*C{fd?_w>_? z1!Z?F z!$`A_1Ww^bI*R?+2U8b5jSq6;hlPB_v=Mx6dK;RGzCzBO>Y)~$L-phNa zat=Yr05Ayp8y=)1B*!&iNeT>Thu`eP*%_j%c#GD(LCJP71Z<%DaV9Fc8)L_O7H7x1 zzZ{2;oxXG(SvBFCNL@)GUvX>ijqSynrU`8FFujQ+pM2yp)of6=Fmlahrel*13z(on zrIAA34>27ZuE!504kF9|nUwtfs-17viA}@_jHxLNy*%j_qrg~S;^J7DcUH=Dn^gv1 z+*>77RH96t*denUe63ODON+bh}C+>x2(u97;~bc zTB9)V^m~N~8bIe0ZER4Akko&aQLEX;k(*MhuFXiC894<{aMS6@gZ9tHETx0-LiHWj zU1E;iL`hmoPQCc9gy;ZOyudROTsD9ED$L6fmq&->!qdQ9@22oRPNM;;@M!ezLfce2 z%X3~+X5dMJ=h|)K6{?zRDH3T!@)mB})eJ;uhygl`9XZX*y*hA1bUVjnX?Vbqh%Jhx zXX=yYeuhzUh(b1nuzE1uUh~h$p?+?NiT01{wAtrBYJ3%~FuE9`T^NB1-KX7mU)s< hGS8qu~{BdtK305^FJefn;QTC literal 0 Hc-jL100001 diff --git a/test/fixtures/scale.logarithmic/small-range.js b/test/fixtures/scale.logarithmic/small-range.js new file mode 100644 index 000000000..d60ed2a18 --- /dev/null +++ b/test/fixtures/scale.logarithmic/small-range.js @@ -0,0 +1,31 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [{ + backgroundColor: 'red', + borderColor: 'red', + fill: false, + data: [3, 1, 4, 2, 5, 3, 16] + }] + }, + options: { + responsive: true, + scales: { + x: { + display: false, + }, + y: { + type: 'logarithmic', + ticks: { + autoSkip: false + } + } + } + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/scale.logarithmic/small-range.png b/test/fixtures/scale.logarithmic/small-range.png new file mode 100644 index 0000000000000000000000000000000000000000..8ccb0dbdb85bd6ce5213bfea820f334c0fdb0190 GIT binary patch literal 22598 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 WV<~`7K}{3@eH`uGc0RTP&;Jk620SYO literal 0 Hc-jL100001 diff --git a/test/specs/core.ticks.tests.js b/test/specs/core.ticks.tests.js index 52857b649..01db0cdce 100644 --- a/test/specs/core.ticks.tests.js +++ b/test/specs/core.ticks.tests.js @@ -71,6 +71,7 @@ describe('Test tick generators', function() { min: 0.1, max: 1, ticks: { + autoSkip: false, callback: function(value) { return value.toString(); } @@ -81,6 +82,7 @@ describe('Test tick generators', function() { min: 0.1, max: 1, ticks: { + autoSkip: false, callback: function(value) { return value.toString(); } @@ -93,8 +95,8 @@ describe('Test tick generators', function() { var xLabels = getLabels(chart.scales.x); var yLabels = getLabels(chart.scales.y); - expect(xLabels).toEqual(['0.1', '0.2', '0.3', '0.4', '0.5', '0.6', '0.7', '0.8', '0.9', '1']); - expect(yLabels).toEqual(['0.1', '0.2', '0.3', '0.4', '0.5', '0.6', '0.7', '0.8', '0.9', '1']); + expect(xLabels).toEqual(['0.1', '0.11', '0.12', '0.13', '0.14', '0.15', '0.16', '0.17', '0.18', '0.19', '0.2', '0.25', '0.3', '0.4', '0.5', '0.6', '0.7', '0.8', '0.9', '1']); + expect(yLabels).toEqual(['0.1', '0.11', '0.12', '0.13', '0.14', '0.15', '0.16', '0.17', '0.18', '0.19', '0.2', '0.25', '0.3', '0.4', '0.5', '0.6', '0.7', '0.8', '0.9', '1']); }); describe('formatters.numeric', function() { diff --git a/test/specs/scale.logarithmic.tests.js b/test/specs/scale.logarithmic.tests.js index b68ef305e..27cd830d8 100644 --- a/test/specs/scale.logarithmic.tests.js +++ b/test/specs/scale.logarithmic.tests.js @@ -131,11 +131,11 @@ describe('Logarithmic Scale tests', function() { }); expect(chart.scales.y).not.toEqual(undefined); // must construct - expect(chart.scales.y.min).toBe(10); + expect(chart.scales.y.min).toBe(40); expect(chart.scales.y.max).toBe(1000); expect(chart.scales.y1).not.toEqual(undefined); // must construct - expect(chart.scales.y1.min).toBe(1); + expect(chart.scales.y1.min).toBe(5); expect(chart.scales.y1.max).toBe(5000); expect(chart.scales.y2).not.toEqual(undefined); // must construct @@ -189,7 +189,7 @@ describe('Logarithmic Scale tests', function() { }); expect(chart.scales.y1).not.toEqual(undefined); // must construct - expect(chart.scales.y1.min).toBe(1); + expect(chart.scales.y1.min).toBe(5); expect(chart.scales.y1.max).toBe(5000); expect(chart.scales.y2).not.toEqual(undefined); // must construct @@ -271,11 +271,11 @@ describe('Logarithmic Scale tests', function() { } }); - expect(chart.scales.x.min).toBe(1); + expect(chart.scales.x.min).toBe(2); expect(chart.scales.x.max).toBe(100); - expect(chart.scales.y.min).toBe(1); - expect(chart.scales.y.max).toBe(200); + expect(chart.scales.y.min).toBe(6); + expect(chart.scales.y.max).toBe(150); }); it('should correctly determine the max & min for scatter data when 0 values are present', function() { @@ -417,8 +417,8 @@ describe('Logarithmic Scale tests', function() { chart.data.datasets[0].data = [0.15, 0.15]; chart.update(); - expect(chart.scales.y.min).toBe(0.01); - expect(chart.scales.y.max).toBe(1); + expect(chart.scales.y.min).toBe(0.1); + expect(chart.scales.y.max).toBe(0.15); }); it('should use the min and max options', function() { @@ -528,6 +528,7 @@ describe('Logarithmic Scale tests', function() { y: { type: 'logarithmic', ticks: { + autoSkip: false, callback: function(value) { return value; } @@ -538,7 +539,7 @@ describe('Logarithmic Scale tests', function() { }); var scale = chart.scales.y; - expect(getLabels(scale)).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80]); + expect(getLabels(scale)).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 40, 50, 60, 70, 80]); expect(scale.start).toEqual(1); expect(scale.end).toEqual(80); }); @@ -568,7 +569,7 @@ describe('Logarithmic Scale tests', function() { var scale = chart.scales.y; // Counts down because the lines are drawn top to bottom - expect(getLabels(scale)).toEqual([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30]); + expect(getLabels(scale)).toEqual([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.5, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30]); expect(scale.start).toEqual(0.1); expect(scale.end).toEqual(30); }); @@ -589,6 +590,7 @@ describe('Logarithmic Scale tests', function() { type: 'logarithmic', reverse: true, ticks: { + autoSkip: false, callback: function(value) { return value; } @@ -599,7 +601,7 @@ describe('Logarithmic Scale tests', function() { }); var scale = chart.scales.y; - expect(getLabels(scale)).toEqual([80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]); + expect(getLabels(scale)).toEqual([80, 70, 60, 50, 40, 30, 20, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]); expect(scale.start).toEqual(80); expect(scale.end).toEqual(1); }); @@ -629,7 +631,7 @@ describe('Logarithmic Scale tests', function() { }); var scale = chart.scales.y; - expect(getLabels(scale)).toEqual([30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]); + expect(getLabels(scale)).toEqual([30, 20, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]); expect(scale.start).toEqual(30); expect(scale.end).toEqual(1); }); @@ -646,13 +648,16 @@ describe('Logarithmic Scale tests', function() { options: { scales: { y: { - type: 'logarithmic' + type: 'logarithmic', + ticks: { + autoSkip: false + } } } } }); - expect(getLabels(chart.scales.y)).toEqual(['1', '2', '', '', '5', '', '', '', '', '10', '20', '', '', '50', '', '', '']); + expect(getLabels(chart.scales.y)).toEqual(['1', '2', '3', '', '5', '', '', '', '', '10', '15', '20', '30', '', '50', '60', '70', '80']); }); it('should build labels using the user supplied callback', function() { @@ -679,7 +684,7 @@ describe('Logarithmic Scale tests', function() { }); // Just the index - expect(getLabels(chart.scales.y)).toEqual(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16']); + expect(getLabels(chart.scales.y)).toEqual(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17']); }); it('should correctly get the correct label for a data item', function() { -- 2.47.3