From bedc3f15757c917f12c44770cc7cf827365884d9 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Thu, 11 Mar 2021 23:25:16 +0200 Subject: [PATCH] Fix autoSkip (#8619) * Fix autoSkip * Add tests --- src/core/core.scale.js | 4 ++-- .../fixtures/core.scale/autoSkip/no-offset.js | 22 ++++++++++++++++++ .../core.scale/autoSkip/no-offset.png | Bin 0 -> 8892 bytes test/fixtures/core.scale/autoSkip/offset.js | 22 ++++++++++++++++++ test/fixtures/core.scale/autoSkip/offset.png | Bin 0 -> 8201 bytes 5 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/core.scale/autoSkip/no-offset.js create mode 100644 test/fixtures/core.scale/autoSkip/no-offset.png create mode 100644 test/fixtures/core.scale/autoSkip/offset.js create mode 100644 test/fixtures/core.scale/autoSkip/offset.png diff --git a/src/core/core.scale.js b/src/core/core.scale.js index d985f38c3..d7228c306 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -1162,8 +1162,8 @@ export default class Scale extends Element { */ _autoSkip(ticks) { const me = this; - const tickOpts = me.options.ticks; - const ticksLimit = tickOpts.maxTicksLimit || me._length / me._tickSize(); + const {offset, ticks: tickOpts} = me.options; + const ticksLimit = tickOpts.maxTicksLimit || (me._length / me._tickSize() + (offset ? 0 : 1)); const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : []; const numMajorIndices = majorIndices.length; const first = majorIndices[0]; diff --git a/test/fixtures/core.scale/autoSkip/no-offset.js b/test/fixtures/core.scale/autoSkip/no-offset.js new file mode 100644 index 000000000..a029ee975 --- /dev/null +++ b/test/fixtures/core.scale/autoSkip/no-offset.js @@ -0,0 +1,22 @@ +module.exports = { + description: 'https://github.com/chartjs/Chart.js/issues/8611', + config: { + type: 'line', + data: { + labels: ['Red Red Red', 'Blue Blue Blue', 'Black Black Black', 'Pink Pink Pink'], + datasets: [ + { + label: '# of Votes', + data: [12, 19, 3, 5] + }, + ] + }, + }, + options: { + spriteText: true, + canvas: { + width: 470, + height: 128 + } + } +}; diff --git a/test/fixtures/core.scale/autoSkip/no-offset.png b/test/fixtures/core.scale/autoSkip/no-offset.png new file mode 100644 index 0000000000000000000000000000000000000000..9a24900a7f77cb0e63cb63a7ba1a9250105c41be GIT binary patch literal 8892 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%0A_>pr>9po4|Z4L4{Drx zd2L(T-A!?;Df}u=)^8#=2!5yBfBhWN`{%?4?d2R1pj=!OUhkez*~MdZJyNCj_>KGzyn9)m&F*G< z(M!)NeA$Zyk~k7~74>KaTzCiPA5w%} zGUfca4;QaX%<}>^))z!rXpdr zP`FWBbg-d|GZkJ6UiL(`8S+Rp%T!TLK1x((YFIxn6}CP-BG3DMKNJ=34i z_}!JztA1#+`}8{PRZ(QtT5Ycr4dAWadEZn~VW2p^f$!BjJS4tTX|4JmE1Y-yb7??O zzWf?%7m^k8g7@JQS{*{c7gR3h$SkGu?=|cK{4Rp#C&*PsA zvcB~$n6g&c9tmE$GfJPxs{OSvsJZZ!uLMjYvNZPoF|C}3V$;z(uNDF)B)-;0k} zfmLP9*PZ>zNCtzzz&axLx@Y*VIq6!lw6^w435mciqe1v19=o21>}|_cF&aHeCmMYC z!AAZ$tYk?f1s&7wDR{YXSs1vwy0*?rzG}Hh)u8CVR6P{uJ9Wvt!6wN+VdD}qzRd!9 zV5Z$2&iu5u4{FH?KR!JpZ*H(?tyFBdCASe{4l-w(3k%Q1N;r{&vbl|f@Nk8E<{9Ce zO}AEi?87@VC<70;4!aCnEQ~_lZp$&QeTWVxdXC*W%y*Gy#<7R8v9PonSf7$IF*KZB zGqj#<`B{Iru{pgX#EUDOIzMoxd4KgSLxhA!uiIXh;hrM)#90=H+ak?$;mMJQ=_3+#Jl^fm;dzI>`w1EdzHW{hyPgX7o!tOVvjNrX zH^+=r$o0+5f4*0q&fix8HeqwYvV09S*bVeL51GxL!))tN&Q$Z2XIEd2<=aV#zFyGu z<(<&tWle^o6Q2vCc3K)>IOUjtJNj1n*zPN@l~3lzPebI-k`-i7_&2s)u|C!6b@VzTN2OoJIIS|V?h0prz@Ii62j!TQ$~anq)Tej#rG~_c@PyLjCddMuTO5-WANYt zg?|9~-ydL;jw4~0_l9Ba-xuY{s<1KT82iThuj^r4A$pIGbGC~}H|C%T;GdR;uKJ5} H))D^)r{2Cx literal 0 HcmV?d00001