From 9b1306ab0a397ac51a256255770da99f2543afcf Mon Sep 17 00:00:00 2001 From: FabTechAT Date: Tue, 15 Apr 2025 15:31:58 +0200 Subject: [PATCH] feature: make above/below colors in filler plugin work with pivoted line charts (#12058) * adapted filler plugin to make above/below colors work with pivoted line charts resolved conflicts in src/plugins/plugin.filler/filler.drawing.js * fixed doFill; added tests --- src/plugins/plugin.filler/filler.drawing.js | 54 +++++++++++++++--- .../line/above-below-vertical-linechart.js | 46 +++++++++++++++ .../line/above-below-vertical-linechart.png | Bin 0 -> 52026 bytes 3 files changed, 93 insertions(+), 7 deletions(-) create mode 100644 test/fixtures/plugin.filler/line/above-below-vertical-linechart.js create mode 100644 test/fixtures/plugin.filler/line/above-below-vertical-linechart.png diff --git a/src/plugins/plugin.filler/filler.drawing.js b/src/plugins/plugin.filler/filler.drawing.js index 9abb513cf..0a718355d 100644 --- a/src/plugins/plugin.filler/filler.drawing.js +++ b/src/plugins/plugin.filler/filler.drawing.js @@ -24,14 +24,24 @@ function doFill(ctx, cfg) { ctx.save(); - if (property === 'x' && below !== above) { - clipVertical(ctx, target, area.top); - fill(ctx, {line, target, color: above, scale, property, clip}); - ctx.restore(); - ctx.save(); - clipVertical(ctx, target, area.bottom); + let fillColor = below; + if (below !== above) { + if (property === 'x') { + clipVertical(ctx, target, area.top); + fill(ctx, {line, target, color: above, scale, property, clip}); + ctx.restore(); + ctx.save(); + clipVertical(ctx, target, area.bottom); + } else if (property === 'y') { + clipHorizontal(ctx, target, area.left); + fill(ctx, {line, target, color: below, scale, property, clip}); + ctx.restore(); + ctx.save(); + clipHorizontal(ctx, target, area.right); + fillColor = above; + } } - fill(ctx, {line, target, color: below, scale, property, clip}); + fill(ctx, {line, target, color: fillColor, scale, property, clip}); ctx.restore(); } @@ -66,6 +76,36 @@ function clipVertical(ctx, target, clipY) { ctx.clip(); } +function clipHorizontal(ctx, target, clipX) { + const {segments, points} = target; + let first = true; + let lineLoop = false; + + ctx.beginPath(); + for (const segment of segments) { + const {start, end} = segment; + const firstPoint = points[start]; + const lastPoint = points[_findSegmentEnd(start, end, points)]; + if (first) { + ctx.moveTo(firstPoint.x, firstPoint.y); + first = false; + } else { + ctx.lineTo(clipX, firstPoint.y); + ctx.lineTo(firstPoint.x, firstPoint.y); + } + lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop}); + if (lineLoop) { + ctx.closePath(); + } else { + ctx.lineTo(clipX, lastPoint.y); + } + } + + ctx.lineTo(clipX, target.first().y); + ctx.closePath(); + ctx.clip(); +} + function fill(ctx, cfg) { const {line, target, property, color, scale, clip} = cfg; const segments = _segments(line, target, property); diff --git a/test/fixtures/plugin.filler/line/above-below-vertical-linechart.js b/test/fixtures/plugin.filler/line/above-below-vertical-linechart.js new file mode 100644 index 000000000..82ada178f --- /dev/null +++ b/test/fixtures/plugin.filler/line/above-below-vertical-linechart.js @@ -0,0 +1,46 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: [1, 2, 3, 4], + datasets: [ + { + data: [200, 400, 200, 400], + cubicInterpolationMode: 'monotone', + tension: 0.4, + spanGaps: true, + borderColor: 'blue', + pointRadius: 0, + fill: { + target: 1, + below: 'rgba(255, 0, 0, 0.4)', + above: 'rgba(53, 221, 53, 0.4)', + } + }, + { + data: [400, 200, 400, 200], + cubicInterpolationMode: 'monotone', + tension: 0.4, + spanGaps: true, + borderColor: 'orange', + pointRadius: 0, + }, + ] + }, + options: { + indexAxis: 'y', + // maintainAspectRatio: false, + plugins: { + filler: { + propagate: false + }, + datalabels: { + display: false + }, + legend: { + display: false + }, + } + } + } +}; diff --git a/test/fixtures/plugin.filler/line/above-below-vertical-linechart.png b/test/fixtures/plugin.filler/line/above-below-vertical-linechart.png new file mode 100644 index 0000000000000000000000000000000000000000..2052737e792ea1e9e01d95c2ec55b27eb9accf12 GIT binary patch literal 52026 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 literal 0 Hc-jL100001 -- 2.39.5