From 294f49c817e37f66a51bddffaf288e562168076b Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Wed, 10 Mar 2021 12:15:39 +0200 Subject: [PATCH 1/2] Add backgroundColor for scales --- docs/docs/axes/_common.md | 1 + src/core/core.scale.js | 15 +++ src/scales/scale.radialLinear.js | 113 ++++++++++-------- test/fixtures/core.scale/backgroundColor.js | 58 +++++++++ test/fixtures/core.scale/backgroundColor.png | Bin 0 -> 2122 bytes .../scale.radialLinear/backgroundColor.js | 37 ++++++ .../scale.radialLinear/backgroundColor.png | Bin 0 -> 28836 bytes .../circular-backgroundColor.js | 40 +++++++ .../circular-backgroundColor.png | Bin 0 -> 37714 bytes 9 files changed, 215 insertions(+), 49 deletions(-) create mode 100644 test/fixtures/core.scale/backgroundColor.js create mode 100644 test/fixtures/core.scale/backgroundColor.png create mode 100644 test/fixtures/scale.radialLinear/backgroundColor.js create mode 100644 test/fixtures/scale.radialLinear/backgroundColor.png create mode 100644 test/fixtures/scale.radialLinear/circular-backgroundColor.js create mode 100644 test/fixtures/scale.radialLinear/circular-backgroundColor.png diff --git a/docs/docs/axes/_common.md b/docs/docs/axes/_common.md index 9e35464611c..1e9ba6450f1 100644 --- a/docs/docs/axes/_common.md +++ b/docs/docs/axes/_common.md @@ -5,6 +5,7 @@ Namespace: `options.scales[scaleId]` | Name | Type | Default | Description | ---- | ---- | ------- | ----------- | `type` | `string` | | Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart. +| `backgroundColor` | [`Color`](../general/colors.md) | | Background color of the scale area. | `display` | `boolean`\|`string` | `true` | Controls the axis global visibility (visible when `true`, hidden when `false`). When `display: 'auto'`, the axis is visible only if at least one associated dataset is visible. | `gridLines` | `object` | | Grid line configuration. [more...](./styling.mdx#grid-line-configuration) | `min` | `number` | | User defined minimum number for the scale, overrides minimum value from data. [more...](./index.mdx#axis-range-settings) diff --git a/src/core/core.scale.js b/src/core/core.scale.js index 684916e7fee..41606d91bcf 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -1575,6 +1575,19 @@ export default class Scale extends Element { } } + /** + * @protected + */ + drawBackground() { + const {ctx, options: {backgroundColor}, left, top, width, height} = this; + if (backgroundColor) { + ctx.save(); + ctx.fillStyle = backgroundColor; + ctx.fillRect(left, top, width, height); + ctx.restore(); + } + } + /** * @protected */ @@ -1730,6 +1743,7 @@ export default class Scale extends Element { return; } + me.drawBackground(); me.drawGrid(chartArea); me.drawTitle(); me.drawLabels(chartArea); @@ -1758,6 +1772,7 @@ export default class Scale extends Element { return [{ z: gz, draw(chartArea) { + me.drawBackground(); me.drawGrid(chartArea); me.drawTitle(); } diff --git a/src/scales/scale.radialLinear.js b/src/scales/scale.radialLinear.js index 2d04d365f99..17928a7e751 100644 --- a/src/scales/scale.radialLinear.js +++ b/src/scales/scale.radialLinear.js @@ -93,7 +93,7 @@ function fitWithPointLabels(scale) { const labelSizes = []; const padding = []; - const valueCount = scale.chart.data.labels.length; + const valueCount = scale.getLabels().length; for (i = 0; i < valueCount; i++) { const opts = scale.options.pointLabels.setContext(scale.getContext(i)); padding[i] = opts.padding; @@ -196,17 +196,11 @@ function adjustPointPositionForLabelHeight(angle, textSize, position) { } } -function drawPointLabels(scale) { - const ctx = scale.ctx; - const opts = scale.options; - const pointLabelOpts = opts.pointLabels; - - ctx.save(); - - ctx.textBaseline = 'middle'; +function drawPointLabels(scale, labelCount) { + const {ctx, options: {pointLabels}} = scale; - for (let i = scale.chart.data.labels.length - 1; i >= 0; i--) { - const optsAtIndex = pointLabelOpts.setContext(scale.getContext(i)); + for (let i = labelCount - 1; i >= 0; i--) { + const optsAtIndex = pointLabels.setContext(scale.getContext(i)); const plFont = toFont(optsAtIndex.font); const {x, y, textAlign} = scale._pointLabelItems[i]; renderText( @@ -218,45 +212,47 @@ function drawPointLabels(scale) { { color: optsAtIndex.color, textAlign: textAlign, + textBaseline: 'middle' } ); } - ctx.restore(); } -function drawRadiusLine(scale, gridLineOpts, radius) { +function pathRadiusLine(scale, radius, circular, labelCount) { + const {ctx} = scale; + if (circular) { + // Draw circular arcs between the points + ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU); + } else { + // Draw straight lines connecting each index + let pointPosition = scale.getPointPosition(0, radius); + ctx.moveTo(pointPosition.x, pointPosition.y); + + for (let i = 1; i < labelCount; i++) { + pointPosition = scale.getPointPosition(i, radius); + ctx.lineTo(pointPosition.x, pointPosition.y); + } + } +} + +function drawRadiusLine(scale, gridLineOpts, radius, labelCount) { const ctx = scale.ctx; const circular = gridLineOpts.circular; - const valueCount = scale.chart.data.labels.length; - const lineColor = gridLineOpts.color; - const lineWidth = gridLineOpts.lineWidth; - let pointPosition; + const {color, lineWidth} = gridLineOpts; - if ((!circular && !valueCount) || !lineColor || !lineWidth || radius < 0) { + if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) { return; } ctx.save(); - ctx.strokeStyle = lineColor; + ctx.strokeStyle = color; ctx.lineWidth = lineWidth; ctx.setLineDash(gridLineOpts.borderDash); ctx.lineDashOffset = gridLineOpts.borderDashOffset; ctx.beginPath(); - if (circular) { - // Draw circular arcs between the points - ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU); - } else { - // Draw straight lines connecting each index - pointPosition = scale.getPointPosition(0, radius); - ctx.moveTo(pointPosition.x, pointPosition.y); - - for (let i = 1; i < valueCount; i++) { - pointPosition = scale.getPointPosition(i, radius); - ctx.lineTo(pointPosition.x, pointPosition.y); - } - } + pathRadiusLine(scale, radius, circular, labelCount); ctx.closePath(); ctx.stroke(); ctx.restore(); @@ -319,7 +315,7 @@ export default class RadialLinearScale extends LinearScaleBase { LinearScaleBase.prototype.generateTickLabels.call(me, ticks); // Point labels - me._pointLabels = me.chart.data.labels.map((value, index) => { + me._pointLabels = me.getLabels().map((value, index) => { const label = callCallback(me.options.pointLabels.callback, [value, index], me); return label || label === 0 ? label : ''; }); @@ -428,6 +424,24 @@ export default class RadialLinearScale extends LinearScaleBase { }; } + /** + * @protected + */ + drawBackground() { + const me = this; + const {backgroundColor, gridLines: {circular}} = me.options; + if (backgroundColor) { + const ctx = me.ctx; + ctx.save(); + ctx.beginPath(); + pathRadiusLine(me, me.getDistanceFromCenterForValue(me._endValue), circular, me.getLabels().length); + ctx.closePath(); + ctx.fillStyle = backgroundColor; + ctx.fill(); + ctx.restore(); + } + } + /** * @protected */ @@ -435,31 +449,31 @@ export default class RadialLinearScale extends LinearScaleBase { const me = this; const ctx = me.ctx; const opts = me.options; - const gridLineOpts = opts.gridLines; - const angleLineOpts = opts.angleLines; + const {angleLines, gridLines} = opts; + const labelCount = me.getLabels().length; + let i, offset, position; if (opts.pointLabels.display) { - drawPointLabels(me); + drawPointLabels(me, labelCount); } - if (gridLineOpts.display) { + if (gridLines.display) { me.ticks.forEach((tick, index) => { if (index !== 0) { - offset = me.getDistanceFromCenterForValue(me.ticks[index].value); - const optsAtIndex = gridLineOpts.setContext(me.getContext(index - 1)); - drawRadiusLine(me, optsAtIndex, offset); + offset = me.getDistanceFromCenterForValue(tick.value); + const optsAtIndex = gridLines.setContext(me.getContext(index - 1)); + drawRadiusLine(me, optsAtIndex, offset, labelCount); } }); } - if (angleLineOpts.display) { + if (angleLines.display) { ctx.save(); - for (i = me.chart.data.labels.length - 1; i >= 0; i--) { - const optsAtIndex = angleLineOpts.setContext(me.getContext(i)); - const lineWidth = optsAtIndex.lineWidth; - const color = optsAtIndex.color; + for (i = me.getLabels().length - 1; i >= 0; i--) { + const optsAtIndex = angleLines.setContext(me.getContext(i)); + const {color, lineWidth} = optsAtIndex; if (!lineWidth || !color) { continue; @@ -518,11 +532,12 @@ export default class RadialLinearScale extends LinearScaleBase { width = ctx.measureText(tick.label).width; ctx.fillStyle = optsAtIndex.backdropColor; + const {backdropPaddingX, backdropPaddingY} = optsAtIndex; ctx.fillRect( - -width / 2 - optsAtIndex.backdropPaddingX, - -offset - tickFont.size / 2 - optsAtIndex.backdropPaddingY, - width + optsAtIndex.backdropPaddingX * 2, - tickFont.size + optsAtIndex.backdropPaddingY * 2 + -width / 2 - backdropPaddingX, + -offset - tickFont.size / 2 - backdropPaddingY, + width + backdropPaddingX * 2, + tickFont.size + backdropPaddingY * 2 ); } diff --git a/test/fixtures/core.scale/backgroundColor.js b/test/fixtures/core.scale/backgroundColor.js new file mode 100644 index 00000000000..47be5469fec --- /dev/null +++ b/test/fixtures/core.scale/backgroundColor.js @@ -0,0 +1,58 @@ +const ticks = { + display: false +}; +const gridLines = { + display: false +}; +const title = { + display: true, + test: '' +}; +module.exports = { + config: { + type: 'line', + options: { + events: [], + scales: { + top: { + type: 'linear', + backgroundColor: 'red', + position: 'top', + ticks, + gridLines, + title + }, + left: { + type: 'linear', + backgroundColor: 'green', + position: 'left', + ticks, + gridLines, + title + }, + bottom: { + type: 'linear', + backgroundColor: 'blue', + position: 'bottom', + ticks, + gridLines, + title + }, + right: { + type: 'linear', + backgroundColor: 'gray', + position: 'right', + ticks, + gridLines, + title + }, + } + } + }, + options: { + canvas: { + height: 256, + width: 256 + }, + } +}; diff --git a/test/fixtures/core.scale/backgroundColor.png b/test/fixtures/core.scale/backgroundColor.png new file mode 100644 index 0000000000000000000000000000000000000000..5855420b93150a8ed707eb1799fcfc38a8d8cf44 GIT binary patch literal 2122 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|GzJC^K~ERQkczms*A8Y*%amw+ z_&t87*!N5&-5tKX%#4Rk4A!xh8_T-PI66h(^#)e)cSnVk9C?Bp-FK`v`B3-#&-tAv zp7#8gJHONZ`5wvow&$iBG9Da$I%oIM!}j<0=*ZVsNi)2TKk)l7(87j?KP#*50xjOK z&+$FKG?3Bu{Q1jLW(I}>zu5NL=KuvH=FMMzofpV>E&b)+2B2FLD(dFNnF9sZzcQN!t3F$Ur)Pd&kpb2Ucax>^8LBTpP0{0|NQMw z^}m^Q&Bsj*G9G;U_HF&@)vNcj``g=dHl+T(=V#8)uzddgdWM&RQw{?|@agaK>Ff*) zpOiJkfq^yUz5RSy28I*;3u1u0fPMdK$`}|F?3;>!A?on+-{+f*3=MxcPO$UQH z&S=UR%^f4H==fXC_@M5W_n+_2uYdm8pMN?3!wxn!-k5m%J$rUme$4vt<@4m}PaoUg ztE*vparU2eO(R=fCA0jwop=6z3jhCIfnnO)>fQGk82+#a+;_0DXJD8h=U{6CENh24 d?~hEwdp_-jhf-Kr!hqESgQu&X%Q~loCIIrV2B`o5 literal 0 HcmV?d00001 diff --git a/test/fixtures/scale.radialLinear/backgroundColor.js b/test/fixtures/scale.radialLinear/backgroundColor.js new file mode 100644 index 00000000000..405877d3d3c --- /dev/null +++ b/test/fixtures/scale.radialLinear/backgroundColor.js @@ -0,0 +1,37 @@ +module.exports = { + threshold: 0.01, + config: { + type: 'radar', + data: { + labels: [1, 2, 3, 4, 5, 6], + datasets: [ + { + data: [3, 2, 2, 1, 3, 1] + } + ] + }, + options: { + plugins: { + legend: false, + tooltip: false, + filler: false + }, + scales: { + r: { + backgroundColor: '#00FF00', + min: 0, + max: 3, + pointLabels: { + display: false + }, + ticks: { + display: false, + stepSize: 1, + } + } + }, + responsive: true, + maintainAspectRatio: false + } + }, +}; diff --git a/test/fixtures/scale.radialLinear/backgroundColor.png b/test/fixtures/scale.radialLinear/backgroundColor.png new file mode 100644 index 0000000000000000000000000000000000000000..d61a1c9218d6fd3809277c06186971f4ae823b8a GIT binary patch literal 28836 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/scale.radialLinear/circular-backgroundColor.js b/test/fixtures/scale.radialLinear/circular-backgroundColor.js new file mode 100644 index 00000000000..222fab2ee84 --- /dev/null +++ b/test/fixtures/scale.radialLinear/circular-backgroundColor.js @@ -0,0 +1,40 @@ +module.exports = { + threshold: 0.01, + config: { + type: 'radar', + data: { + labels: [1, 2, 3, 4, 5, 6], + datasets: [ + { + data: [3, 2, 2, 1, 3, 1] + } + ] + }, + options: { + plugins: { + legend: false, + tooltip: false, + filler: false + }, + scales: { + r: { + backgroundColor: '#00FF00', + min: 0, + max: 3, + gridLines: { + circular: true + }, + pointLabels: { + display: false + }, + ticks: { + display: false, + stepSize: 1, + } + } + }, + responsive: true, + maintainAspectRatio: false + } + }, +}; diff --git a/test/fixtures/scale.radialLinear/circular-backgroundColor.png b/test/fixtures/scale.radialLinear/circular-backgroundColor.png new file mode 100644 index 0000000000000000000000000000000000000000..5da9a2d6213741d6d4430737e667898a3347a15e GIT binary patch literal 37714 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 Date: Wed, 10 Mar 2021 12:30:48 +0200 Subject: [PATCH 2/2] Loosen the threshold --- test/fixtures/scale.radialLinear/circular-backgroundColor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/fixtures/scale.radialLinear/circular-backgroundColor.js b/test/fixtures/scale.radialLinear/circular-backgroundColor.js index 222fab2ee84..5e21f244e6c 100644 --- a/test/fixtures/scale.radialLinear/circular-backgroundColor.js +++ b/test/fixtures/scale.radialLinear/circular-backgroundColor.js @@ -1,5 +1,5 @@ module.exports = { - threshold: 0.01, + threshold: 0.05, config: { type: 'radar', data: {