Skip to content

Commit

Permalink
Fix using above/below filling option with discontinuous lines (#10024)
Browse files Browse the repository at this point in the history
Added a test in the boundary folder
  • Loading branch information
charlesmass2 authored Jan 1, 2022
1 parent a5b46a8 commit c527f47
Show file tree
Hide file tree
Showing 5 changed files with 129 additions and 2 deletions.
25 changes: 23 additions & 2 deletions src/plugins/plugin.filler.js
Original file line number Diff line number Diff line change
Expand Up @@ -383,9 +383,30 @@ function resolveTarget(sources, index, propagate) {
}

function _clip(ctx, target, clipY) {
const {segments, points} = target;
let first = true;
let lineLoop = false;

ctx.beginPath();
target.path(ctx);
ctx.lineTo(target.last().x, clipY);
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(firstPoint.x, clipY);
ctx.lineTo(firstPoint.x, firstPoint.y);
}
lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});
if (lineLoop) {
ctx.closePath();
} else {
ctx.lineTo(lastPoint.x, clipY);
}
}

ctx.lineTo(target.first().x, clipY);
ctx.closePath();
ctx.clip();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"config": {
"type": "line",
"data": {
"labels": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"],
"datasets": [{
"borderColor": "rgb(42, 90, 145)",
"data": [null, 12, 30, 36, 45, 53, 68, 79, null, 95, 18, 18, 180],
"fill": {
"target": "+1",
"above": "rgba(4, 142, 43, 0.5)",
"below": "rgba(241, 49, 34, 0.5)"
}
}, {
"borderColor": "#00ADEE",
"data": [null, 0, 0, 0, 0, 0, 20, 108, null, 72, 72, 72, 72],
"fill": false
}]
},
"options": {
"responsive": false,
"spanGaps": false,
"scales": {
"x": {
"display": false
},
"y": {
"display": false
}
},
"elements": {
"point": {
"radius": 0
},
"line": {
"cubicInterpolationMode": "monotone",
"borderColor": "transparent"
}
},
"plugins": {
"legend": false,
"title": false,
"tooltip": false
}
}
},
"options": {
"canvas": {
"height": 256,
"width": 512
}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"config": {
"type": "line",
"data": {
"labels": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"],
"datasets": [{
"borderColor": "rgb(42, 90, 145)",
"data": [4, 12, 30, 36, 45, 53, 68, 79, null, 95, 18, null, 18, 180],
"fill": {
"target": "+1",
"above": "rgba(4, 142, 43, 0.5)",
"below": "rgba(241, 49, 34, 0.5)"
}
}, {
"borderColor": "#00ADEE",
"data": [0, 0, 0, 0, 0, 0, 20, 108, null, 72, 72, null, 72, 72],
"fill": false
}]
},
"options": {
"responsive": false,
"spanGaps": false,
"scales": {
"x": {
"display": false
},
"y": {
"display": false
}
},
"elements": {
"point": {
"radius": 0
},
"line": {
"cubicInterpolationMode": "monotone",
"borderColor": "transparent"
}
},
"plugins": {
"legend": false,
"title": false,
"tooltip": false
}
}
},
"options": {
"canvas": {
"height": 256,
"width": 512
}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit c527f47

Please sign in to comment.