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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 literal 15959 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 BnoR%z -- 2.47.3