From 7fab66ccd1637808868fc8b70b753642e82bd3b3 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sat, 10 Apr 2021 16:01:38 +0300 Subject: [PATCH] Support mirror option on x-axis (#8867) --- src/core/core.scale.js | 20 +++++++------ test/fixtures/core.scale/ticks-mirror-x.js | 30 ++++++++++++++++++++ test/fixtures/core.scale/ticks-mirror-x.png | Bin 0 -> 11421 bytes test/fixtures/core.scale/ticks-mirror.png | Bin 15959 -> 15936 bytes 4 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 test/fixtures/core.scale/ticks-mirror-x.js create mode 100644 test/fixtures/core.scale/ticks-mirror-x.png diff --git a/src/core/core.scale.js b/src/core/core.scale.js index dbdbb18c3..cca092319 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -640,7 +640,7 @@ export default class Scale extends Element { if (isHorizontal) { // A horizontal axis is more constrained by the height. - const labelHeight = sin * widest.width + cos * highest.height; + const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height; minSize.height = Math.min(me.maxHeight, minSize.height + labelHeight + tickPadding); } else { // A vertical axis is more constrained by the width. Labels are the @@ -1122,26 +1122,27 @@ export default class Scale extends Element { const {position, ticks: optionTicks} = options; const isHorizontal = me.isHorizontal(); const ticks = me.ticks; - const {align, crossAlign, padding} = optionTicks; + const {align, crossAlign, padding, mirror} = optionTicks; const tl = getTickMarkLength(options.grid); const tickAndPadding = tl + padding; + const hTickAndPadding = mirror ? -padding : tickAndPadding; const rotation = -toRadians(me.labelRotation); const items = []; let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset; let textBaseline = 'middle'; if (position === 'top') { - y = me.bottom - tickAndPadding; + y = me.bottom - hTickAndPadding; textAlign = me._getXAxisLabelAlignment(); } else if (position === 'bottom') { - y = me.top + tickAndPadding; + y = me.top + hTickAndPadding; textAlign = me._getXAxisLabelAlignment(); } else if (position === 'left') { - const ret = this._getYAxisLabelAlignment(tl); + const ret = me._getYAxisLabelAlignment(tl); textAlign = ret.textAlign; x = ret.x; } else if (position === 'right') { - const ret = this._getYAxisLabelAlignment(tl); + const ret = me._getYAxisLabelAlignment(tl); textAlign = ret.textAlign; x = ret.x; } else if (axis === 'x') { @@ -1161,7 +1162,7 @@ export default class Scale extends Element { const value = position[positionAxisID]; x = me.chart.scales[positionAxisID].getPixelForValue(value); } - textAlign = this._getYAxisLabelAlignment(tl).textAlign; + textAlign = me._getYAxisLabelAlignment(tl).textAlign; } if (axis === 'y') { @@ -1207,6 +1208,9 @@ export default class Scale extends Element { textOffset = labelSizes.highest.height - lineCount * lineHeight; } } + if (mirror) { + textOffset *= -1; + } } else { y = pixel; textOffset = (1 - lineCount) * lineHeight / 2; @@ -1262,7 +1266,7 @@ export default class Scale extends Element { if (position === 'left') { if (mirror) { textAlign = 'left'; - x = me.right - padding; + x = me.right + padding; } else { x = me.right - tickAndPadding; diff --git a/test/fixtures/core.scale/ticks-mirror-x.js b/test/fixtures/core.scale/ticks-mirror-x.js new file mode 100644 index 000000000..ec151e580 --- /dev/null +++ b/test/fixtures/core.scale/ticks-mirror-x.js @@ -0,0 +1,30 @@ +module.exports = { + config: { + type: 'line', + data: { + datasets: [{ + data: [1, -1, 3], + }], + labels: ['Label1', 'Label2', 'Label3'] + }, + options: { + scales: { + x: { + ticks: { + mirror: true + } + }, + y: { + display: false + } + } + } + }, + options: { + spriteText: true, + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/core.scale/ticks-mirror-x.png b/test/fixtures/core.scale/ticks-mirror-x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9fe6537c478f72b35fb43ae111478d5a112eb20 GIT binary patch literal 11421 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 AD*ylh literal 0 HcmV?d00001 diff --git a/test/fixtures/core.scale/ticks-mirror.png b/test/fixtures/core.scale/ticks-mirror.png index dc483b516377e20e4e5766fb604f7456b19fb789..35fba6e521883829d5e8e76f36bc04d2a9aca728 100644 GIT binary patch literal 15936 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�FR7UJ-!F$>pYEL`>z&>rj(B?Z)B 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 ZXiW0(6yu8#aA6!W*0<1mrQ;m+{{W@`noR%z