Fix: Fill vertical lines (#8919)

This commit is contained in:
Jukka Kurkela 2021-04-17 14:31:58 +03:00 committed by GitHub
parent 853f094937
commit ef4f504db9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 46 additions and 3 deletions

View File

@ -496,7 +496,7 @@ function _fill(ctx, cfg) {
function doFill(ctx, cfg) {
const {line, target, above, below, area, scale} = cfg;
const property = line._loop ? 'angle' : 'x';
const property = line._loop ? 'angle' : cfg.axis;
ctx.save();
@ -514,14 +514,14 @@ function doFill(ctx, cfg) {
function drawfill(ctx, source, area) {
const target = getTarget(source);
const {line, scale} = source;
const {line, scale, axis} = source;
const lineOpts = line.options;
const fillOption = lineOpts.fill;
const color = lineOpts.backgroundColor;
const {above = color, below = color} = fillOption || {};
if (target && line.points.length) {
clipArea(ctx, area);
doFill(ctx, {line, target, above, below, area, scale});
doFill(ctx, {line, target, above, below, area, scale, axis});
unclipArea(ctx);
}
}
@ -545,6 +545,7 @@ export default {
index: i,
fill: decodeFill(line, i, count),
chart,
axis: meta.controller.options.indexAxis,
scale: meta.vScale,
line,
};

View File

@ -0,0 +1,42 @@
const data = [
{y: 1, x: 12},
{y: 3, x: 14},
{y: 4, x: 20},
{y: 6, x: 13},
{y: 9, x: 18},
];
module.exports = {
config: {
type: 'line',
data: {
datasets: [{
data: data,
borderColor: 'red',
fill: false,
}, {
data: data.map((v) => ({y: v.y, x: 2 * v.x - 1.5 * v.y})),
fill: '-1',
borderColor: 'blue',
backgroundColor: 'rgba(255, 200, 0, 0.5)',
}]
},
options: {
indexAxis: 'y',
radius: 0,
plugins: {
legend: false
},
scales: {
x: {
display: false,
type: 'linear'
},
y: {
display: false,
type: 'linear'
}
}
}
}
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB