From 32fd5af904d72e17caf2a20b254cbae1a1b5620c Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sat, 13 Mar 2021 20:47:21 +0200 Subject: [PATCH] Radial: min 1/2 of the max radius as chartArea (#8630) * Radial: min 1/2 of the max radius as chartArea * Keep fooling TS --- src/scales/scale.radialLinear.js | 4 +-- .../pointLabels/no-more-than-half-radius.js | 34 ++++++++++++++++++ .../pointLabels/no-more-than-half-radius.png | Bin 0 -> 6219 bytes 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/scale.radialLinear/pointLabels/no-more-than-half-radius.js create mode 100644 test/fixtures/scale.radialLinear/pointLabels/no-more-than-half-radius.png diff --git a/src/scales/scale.radialLinear.js b/src/scales/scale.radialLinear.js index f6d9270b9..298717aaf 100644 --- a/src/scales/scale.radialLinear.js +++ b/src/scales/scale.radialLinear.js @@ -348,9 +348,9 @@ export default class RadialLinearScale extends LinearScaleBase { radiusReductionTop = numberOrZero(radiusReductionTop); radiusReductionBottom = numberOrZero(radiusReductionBottom); - me.drawingArea = Math.min( + me.drawingArea = Math.max(largestPossibleRadius / 2, Math.min( Math.floor(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2), - Math.floor(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2)); + Math.floor(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2))); me.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom); } diff --git a/test/fixtures/scale.radialLinear/pointLabels/no-more-than-half-radius.js b/test/fixtures/scale.radialLinear/pointLabels/no-more-than-half-radius.js new file mode 100644 index 000000000..cddd4362d --- /dev/null +++ b/test/fixtures/scale.radialLinear/pointLabels/no-more-than-half-radius.js @@ -0,0 +1,34 @@ +module.exports = { + config: { + type: 'radar', + data: { + labels: ['Too long label 1', 'Too long label 2', 'Too long label 3', 'Too long label 4'], + datasets: [ + { + backgroundColor: '#E43E51', + data: [1, 1, 1, 1] + } + ] + }, + options: { + scales: { + r: { + max: 1, + ticks: { + display: false, + }, + grid: { + display: false + } + } + }, + } + }, + options: { + spriteText: true, + canvas: { + width: 256, + height: 256 + } + } +}; diff --git a/test/fixtures/scale.radialLinear/pointLabels/no-more-than-half-radius.png b/test/fixtures/scale.radialLinear/pointLabels/no-more-than-half-radius.png new file mode 100644 index 0000000000000000000000000000000000000000..522292ef8cf69ec4cc239f8dfdbc2e67559f63d6 GIT binary patch literal 6219 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 literal 0 Hc-jL100001 -- 2.47.3